:root{color-scheme:light;--bg: #ffffff;--ink: #151515;--muted: #676767;--line: #dddddd;--line-strong: #bdbdbd;--surface: #ffffff;--surface-soft: #f6f6f6;--accent: #17663a;--accent-ink: #ffffff;--danger: #9f2323;--cell-0: #ebedf0;--cell-1: #b9e4c9;--cell-2: #74c78f;--cell-3: #32995b;--cell-4: #17663a}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #111111;--ink: #f1f1f1;--muted: #a4a4a4;--line: #303030;--line-strong: #505050;--surface: #111111;--surface-soft: #1c1c1c;--accent: #7bd99e;--accent-ink: #101010;--danger: #ff8f8f;--cell-0: #252525;--cell-1: #254b34;--cell-2: #347b4f;--cell-3: #55ad70;--cell-4: #8ee6a8}}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,input{font:inherit}button{touch-action:manipulation}.app-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.app-shell{min-height:100vh;background:var(--bg)}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--line);background:var(--bg)}.brand-button,.topbar-actions,.icon-button,.status-button,.text-button,.single-log-button,.tile-log-button,.report-log-button{display:inline-flex;align-items:center}.brand-button{gap:8px;min-height:38px;border:0;background:transparent;color:var(--ink);cursor:pointer;font-weight:700}.topbar-actions{gap:8px;min-width:0}.icon-button{justify-content:center;width:38px;height:38px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer}.danger-button{color:var(--danger)}.icon-button:hover,.icon-button:focus-visible,.status-button:hover,.status-button:focus-visible,.text-button:hover,.text-button:focus-visible{border-color:var(--line-strong)}.status-button,.text-button{gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;white-space:nowrap}.status-button{max-width:min(44vw,340px)}.status-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}.text-button.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.danger-text-button{color:var(--danger)}.text-button:disabled,.status-button:disabled,.icon-button:disabled{cursor:default;opacity:.5}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-home,.single-home{min-height:calc(100vh - 56px);display:grid;place-items:center;padding:24px}.single-home{grid-template-rows:minmax(0,1fr) auto;gap:16px}.giant-card{width:min(900px,100%);min-height:min(560px,calc(100vh - 190px));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer;text-align:center}.giant-card:hover,.giant-card:focus-visible{border-color:var(--line-strong)}.giant-name{max-width:100%;overflow-wrap:anywhere;color:var(--muted);font-size:1.25rem;font-weight:650}.giant-time{max-width:100%;overflow-wrap:anywhere;font-size:5rem;line-height:1;font-weight:760}.giant-relative{color:var(--muted);font-size:1.35rem}.single-log-button,.report-log-button{justify-content:center;gap:10px;width:min(900px,100%);min-height:68px;padding:0 18px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;font-size:1.2rem;font-weight:750;text-align:center}.single-log-button:hover,.single-log-button:focus-visible,.report-log-button:hover,.report-log-button:focus-visible{border-color:var(--line-strong)}.undo-toast{position:fixed;right:18px;bottom:18px;z-index:30;max-width:min(420px,calc(100vw - 32px));display:inline-flex;align-items:center;gap:14px;padding:10px 10px 10px 14px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);box-shadow:0 8px 28px #0000001f}.undo-toast span{min-width:0;overflow-wrap:anywhere}.undo-toast button{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;font-weight:650}.undo-toast button:hover,.undo-toast button:focus-visible{border-color:var(--line-strong)}.list-home,.settings-page,.report-page{width:min(980px,calc(100% - 32px));margin:0 auto;padding:34px 0 56px}.create-form{width:min(620px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.create-form input,.settings-form input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:0 12px}.create-form input:focus,.settings-form input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:2px}.remember-grid{margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}.remember-tile{min-height:218px;display:grid;grid-template-rows:minmax(0,1fr) auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.remember-card-button{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:150px;padding:18px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:center}.remember-tile:hover,.remember-tile:focus-within{border-color:var(--line-strong)}.tile-name{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:1rem;font-weight:650}.tile-time{min-width:0;overflow-wrap:anywhere;font-size:2rem;line-height:1.05;font-weight:720}.tile-relative{color:var(--muted)}.tile-log-button{justify-content:center;gap:8px;min-height:58px;margin:0 12px 12px;border:1px solid var(--accent);border-radius:7px;background:var(--accent);color:var(--accent-ink);cursor:pointer;font-weight:750}.page-header{min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:28px}.page-header h1,.section-heading h2,.install-help h2{margin:0;font-size:1.45rem;line-height:1.2}.page-header p{margin:4px 0 0;color:var(--muted)}.page-actions{display:inline-flex;align-items:center;gap:8px}.report-log-button{margin:-6px 0 24px}.report-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.report-stats div{min-width:0;padding:18px 16px;border-right:1px solid var(--line)}.report-stats div:last-child{border-right:0}.report-stats strong{display:block;min-width:0;overflow-wrap:anywhere;font-size:1.4rem}.report-stats span{display:block;margin-top:4px;color:var(--muted)}.report-section{padding-top:34px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.calendar-heading{justify-content:flex-start}.heatmap-scroller{overflow-x:auto;padding-bottom:4px}.heatmap-grid{display:grid;grid-template-rows:repeat(7,12px);grid-auto-flow:column;grid-auto-columns:12px;gap:3px;width:max-content}.heat-cell{width:12px;height:12px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:2px;background:var(--cell-0)}.heat-cell[data-level="1"]{background:var(--cell-1)}.heat-cell[data-level="2"]{background:var(--cell-2)}.heat-cell[data-level="3"]{background:var(--cell-3)}.heat-cell[data-level="4"]{background:var(--cell-4)}.heat-cell[data-level=future]{opacity:.22}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday,.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.weekday{padding:8px;color:var(--muted);font-size:.85rem}.calendar-cell{min-height:92px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px}.calendar-cell.empty{background:var(--surface-soft)}.calendar-cell strong{min-width:26px;height:26px;display:inline-grid;place-items:center;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-size:.9rem}.entry-list{border-top:1px solid var(--line)}.entry-row{min-height:62px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.entry-row strong,.entry-row span{display:block;min-width:0;overflow-wrap:anywhere}.entry-row span{margin-top:3px;color:var(--muted)}.empty-section{margin:0;color:var(--muted)}.settings-form{display:grid;gap:14px;padding-top:6px}.settings-form label{display:grid;gap:6px}.settings-form label span{color:var(--muted);font-size:.92rem}.settings-note{max-width:560px;margin:-2px 0 2px;color:var(--muted);font-size:.95rem;line-height:1.45}.settings-status{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:360px;border:1px solid var(--line);border-radius:7px;padding:0 12px}.settings-status span{color:var(--muted);font-size:.92rem}.settings-status strong{font-size:.96rem}.check-row{grid-template-columns:auto minmax(0,1fr);align-items:center}.check-row input{width:18px;min-height:18px}.segmented{width:fit-content;display:inline-grid;grid-template-columns:repeat(2,auto);border:1px solid var(--line);border-radius:8px;overflow:hidden}.segmented button{min-height:36px;padding:0 14px;border:0;border-right:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}.segmented button:last-child{border-right:0}.segmented button.active{background:var(--surface-soft);font-weight:650}.form-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:8px}.install-help,.archived-section{margin-top:34px;padding-top:18px;border-top:1px solid var(--line)}.install-help p{margin:10px 0 0;color:var(--muted)}.archived-section h2{margin:0 0 12px;font-size:1.2rem}.archived-row{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border-top:1px solid var(--line)}.archived-row span{min-width:0;overflow-wrap:anywhere}.archived-actions{display:inline-flex;align-items:center;gap:8px}@media(max-width:700px){.topbar{padding:0 12px}.brand-button span{display:none}.giant-time{font-size:3rem}.giant-relative{font-size:1.1rem}.create-form,.remember-grid{grid-template-columns:1fr}.remember-tile{min-height:198px}.tile-time{font-size:1.7rem}.report-stats{grid-template-columns:1fr}.report-stats div{border-right:0;border-bottom:1px solid var(--line)}.report-stats div:last-child{border-bottom:0}.calendar-cell{min-height:64px;padding:6px}.weekday{padding:6px;font-size:.78rem}.undo-toast{right:16px;bottom:16px;left:16px;max-width:none;justify-content:space-between}}
