@font-face{font-family:Inter;font-weight:400;src:url(/fonts/inter/Inter-Regular.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:500;src:url(/fonts/inter/Inter-Medium.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:600;src:url(/fonts/inter/Inter-SemiBold.woff2)format("woff2")}@font-face{font-family:Inter Display;font-weight:400;src:url(/fonts/inter/InterDisplay-Regular.woff2)format("woff2")}@font-face{font-family:Inter Display;font-weight:500;src:url(/fonts/inter/InterDisplay-Medium.woff2)format("woff2")}@font-face{font-family:Inter Display;font-weight:600;src:url(/fonts/inter/InterDisplay-SemiBold.woff2)format("woff2")}@font-face{font-family:Merriweather;font-weight:700;src:url(/fonts/merriweather/Merriweather-Bold.woff2)format("woff2")}*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}:root{--colorBackgroundPrimary:#f3f3f3;--colorBackgroundSecondary:#e3e3e3;--colorBackgroundSheet:#f3f3f3;--colorTypePrimary:#191818;--colorTypeSecondary:#c7c7cc;--colorTypeContrast:#f3f3f3;--colorThumb:#f3f3f3;--colorAccent:#191818;--colorClear:#d83744;--colorConfirm:#64ae5b;--colorBackdrop:#00000059;--opacityActive:.75;--scaleHover:scale(1.05);--scaleActive:scale(.95);--animation:.35s;--intensityCalendarOther:15%;--intensityBreakdown:100%;--intensityDayOther:15%;--intensityDayToday:100%;--base:1rem;--multiplier:1.2;--baseWidth:390px;--basePadding:2rem;--base-large-1:calc(var(--base) * pow(var(--multiplier), 1));--base-large-2:calc(var(--base) * pow(var(--multiplier), 2));--base-large-3:calc(var(--base) * pow(var(--multiplier), 3));--base-large-4:calc(var(--base) * pow(var(--multiplier), 4));--base-large-5:calc(var(--base) * pow(var(--multiplier), 5));--base-small-1:calc(var(--base) / pow(var(--multiplier), 1));--base-small-2:calc(var(--base) / pow(var(--multiplier), 2));--base-small-3:calc(var(--base) / pow(var(--multiplier), 3));--base-small-4:calc(var(--base) / pow(var(--multiplier), 4));--base-small-5:calc(var(--base) / pow(var(--multiplier), 5))}header,nav,main,section,aside,footer{max-width:var(--baseWidth);width:100%}html{background:var(--colorBackgroundPrimary);min-height:100dvh;max-height:100dvh;color:var(--colorTypePrimary);font-family:Inter,sans-serif;font-size:var(--base)}body{min-height:inherit;max-height:inherit;padding:var(--basePadding);align-items:center;gap:var(--basePadding);flex-direction:column;display:flex}header{flex-direction:inherit;display:inherit}header.main{align-items:stretch;gap:var(--base-large-1);z-index:202;touch-action:auto;flex-direction:column;position:relative}header.main.open{touch-action:pan-y}header.main nav.menu-items,header.main button.sign-out{display:none}header.main.open nav.menu-items,header.main.open button.sign-out{display:flex}.header-top{align-items:center;gap:var(--base);width:100%;max-width:var(--baseWidth);flex-direction:row;display:flex}header.main.open{background:var(--colorBackgroundPrimary);width:100%;max-width:100dvw;height:100dvh;padding:var(--basePadding);z-index:1000;justify-content:space-between;align-items:center;position:fixed;inset:0}header.sheet{gap:calc(var(--base) / 8)}header.sheet h4{color:var(--colorTypeSecondary)}main{display:inherit;gap:inherit;flex-direction:column}section{display:inherit;flex-direction:inherit;gap:var(--base-large-1)}nav.calendar{display:inherit;text-align:center;justify-content:space-between;align-items:center;font-weight:500}.calendar-grid{touch-action:none}.calendar-grid,.days-of-week{gap:var(--base-small-5);grid-template-columns:repeat(7,1fr);display:grid}.days-of-week{text-align:center;font-size:var(--base-small-2);color:var(--colorTypeSecondary);text-transform:uppercase;cursor:default;font-weight:600}.breakdown-line{height:calc(var(--base) / 8);border-radius:calc(var(--base) / 8);gap:1px;display:flex;overflow:hidden}.breakdown-line .segment{border-radius:calc(var(--base) / 8);transition:flex .6s cubic-bezier(.25,1,.5,1)}.breakdown-line .segment:not(.empty){background:color-mix(in srgb, var(--segment-color) var(--intensityBreakdown), transparent)}.breakdown-line .empty{min-width:calc(var(--base) / 4);background:var(--colorTypeSecondary);flex:1;transition:flex .6s cubic-bezier(.25,1,.5,1)}.breakdown-line.has-data .empty{flex:0;min-width:0}.calendar-day{aspect-ratio:1}.calendar-day:not(.empty){cursor:pointer;transition:transform var(--animation), filter var(--animation);font-size:var(--base-small-1);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-weight:400;display:flex;position:relative}.calendar-grid.loading .calendar-day{background:0 0;animation:none}.calendar-grid.loading .medicine-marker{display:none}@keyframes insights-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.insights{animation:insights-in var(--animation) ease forwards;font-size:var(--base);line-height:1.3}.calendar-day:not(.empty):hover{transform:var(--scaleHover)}.calendar-day:not(.empty):active{transform:var(--scaleActive)}.calendar-day.has-color,.calendar-day.is-today{animation:day-color-in var(--animation) ease forwards}.calendar-day.is-today{animation-name:day-color-in-today}@keyframes day-color-in{0%{background:0 0}to{background:color-mix(in srgb, var(--day-color) var(--day-intensity,var(--intensityCalendarOther)), transparent)}}@keyframes day-color-in-today{0%{color:inherit;background:0 0}to{background:color-mix(in srgb, var(--day-color) var(--day-intensity,var(--intensityCalendarOther)), transparent);color:var(--colorTypeContrast)}}.medicine-marker{width:var(--base-small-1);height:var(--base-small-1);background:var(--colorTypePrimary);border:calc(var(--base) / 4) solid var(--colorBackgroundPrimary);pointer-events:none;border-radius:50%;position:absolute;top:0;right:0}.backdrop{pointer-events:none;z-index:1;transition:background var(--animation);position:fixed;inset:0}.backdrop.open{background:var(--colorBackdrop);pointer-events:all;touch-action:pan-y}aside.sheet{width:100%;max-height:calc(100dvh - var(--basePadding) - var(--basePadding) - var(--base-large-3));background:var(--colorBackgroundSheet);border-radius:var(--base-large-3) var(--base-large-3) 0 0;z-index:2;transition:transform var(--animation);padding-bottom:env(safe-area-inset-bottom,var(--base));touch-action:none;flex-direction:column;display:flex;position:fixed;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)translateY(105%)}aside.sheet.open{transform:translate(-50%)translateY(0)}.pull-wrapper{padding:var(--base);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;display:flex}.pull-wrapper:active{cursor:grabbing}.pull-bar{width:var(--base-large-5);height:calc(var(--base) / 4);border-radius:calc(var(--base) / 8);background:var(--colorTypeSecondary)}section.sheet{padding:var(--base) var(--base-large-3) var(--base-large-3);overscroll-behavior:contain;touch-action:pan-y;flex:1;min-height:0;overflow-y:auto}.intensity-grid{gap:var(--base-small-5);width:100%;display:grid}.intensity-grid:has(>:first-child:last-child){grid-template-columns:1fr}:is(.intensity-grid:has(>:nth-child(2):last-child),.intensity-grid:has(>:nth-child(4):last-child)){grid-template-columns:repeat(2,1fr)}:is(.intensity-grid:has(>:nth-child(3):last-child),.intensity-grid:has(>:nth-child(5):last-child),.intensity-grid:has(>:nth-child(6):last-child)){grid-template-columns:repeat(3,1fr)}button.intensity span{padding:var(--base-small-2);font-size:var(--base-small-1);text-align:left;text-overflow:ellipsis;max-width:100%;font-weight:500;overflow:hidden}.toggle{width:calc(var(--base) * 2.5 + var(--base) / 6);height:calc(var(--base) * 1.25 + var(--base) / 3);background:var(--colorTypeSecondary);transition:background var(--animation);border-radius:13px;position:relative}.thumb{top:calc(var(--base) / 6);left:calc(var(--base) / 6);width:calc(var(--base) * 1.25);height:calc(var(--base) * 1.25);background:var(--colorThumb);transition:transform var(--animation) cubic-bezier(.35, 1.3, .65, 1);border-radius:50%;position:absolute}button.medicine.on .thumb{transform:translateX(calc(var(--base) * 1.25 - var(--base) / 6))}button.medicine.on .toggle{background:var(--colorAccent)}.medicine-list{gap:var(--base-small-2);flex-direction:column;display:flex}.medicine-list .entry{align-items:center;gap:var(--base-small-1);border-bottom:1px solid var(--colorBackgroundSecondary);min-height:38px;display:flex}.medicine-list .entry:last-of-type{border-bottom:none}select.medicine{font-size:var(--base);cursor:pointer;text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:1;min-width:0;font-weight:500}input.time{color:var(--colorTypePrimary);cursor:pointer;text-align:right;background:0 0;border:none;outline:none;font-family:inherit}.confirm-screen{z-index:3;transition:background var(--animation);pointer-events:none;background:0 0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-screen.visible{background:var(--colorBackdrop);pointer-events:all}.confirm-screen.exiting{pointer-events:none;background:0 0}.confirm-screen.entering{pointer-events:all}.confirm-screen .message{background:var(--colorBackgroundSheet);border-radius:var(--base-large-1);padding:var(--base-large-2);gap:var(--base);width:100%;max-width:300px;animation:confirm-in var(--animation) cubic-bezier(.35, 1.3, .65, 1) forwards;flex-direction:column;display:flex}.confirm-screen.exiting .message{animation:confirm-out var(--animation) cubic-bezier(.35, 1.3, .65, 1) forwards}@keyframes confirm-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes confirm-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.confirm-screen .message p{text-align:center}.confirm-screen .buttons{gap:var(--base-small-1);display:flex}.swatch{width:var(--base-large-1);height:var(--base-large-1);border-radius:50%}.settings-item-row{align-items:center;gap:var(--base-small-1);padding:var(--base-small-2) 0;border-bottom:1px solid var(--colorBackgroundSecondary);min-height:44px;display:flex}.settings-item-row:last-child{border-bottom:none}.settings-item-name{font-size:var(--base);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.settings-item-placeholder{color:var(--colorTypeSecondary);font-style:normal}.settings-level-block{border-bottom:1px solid var(--colorBackgroundSecondary);flex-direction:column;display:flex}.settings-level-block:last-of-type{border-bottom:none}.settings-level-row{align-items:center;gap:var(--base-small-1);padding:var(--base-small-2) 0;min-height:44px;display:flex}.settings-row-actions{align-items:center;gap:var(--base-small-3);flex-shrink:0;display:flex}.settings-level-block.dragging,.settings-item-row.dragging{opacity:.4;border-radius:var(--base-small-3);box-shadow:0 2px 12px #0000001f}.level-name-input{font-family:inherit;font-size:var(--base);color:var(--colorTypePrimary);padding:var(--base-small-3) 0;cursor:pointer;min-width:0;transition:border-color var(--animation);background:0 0;border:none;border-bottom:1.5px solid #0000;outline:none;flex:1;font-weight:500}.level-name-input[readonly]{color:var(--colorTypePrimary);cursor:pointer}.level-name-input.editing{border-bottom-color:var(--colorAccent);cursor:text}.color-picker{gap:var(--base-small-1);padding:var(--base-small-2) 0 var(--base-small-1);padding-left:calc(28px + var(--base-small-1));flex-wrap:wrap;display:flex}.picker{cursor:pointer;transition:transform var(--animation), border-color var(--animation);border:2.5px solid #0000}.picker:active{transform:scale(.88)}.picker.active{border-color:var(--colorTypePrimary);transform:scale(1.12)}.med-add-row{align-items:center;gap:var(--base-small-1);padding:var(--base-small-2) 0;border-bottom:1px solid var(--colorBackgroundSecondary);min-height:44px;display:flex}.toast-wrap{bottom:calc(env(safe-area-inset-bottom,0px) + var(--basePadding));pointer-events:none;align-items:center;gap:var(--base-small-2);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast-slot{transition:margin-bottom var(--animation) ease;justify-content:center;display:flex;position:relative}.toast-slot--regular{z-index:300}.toast-slot--persistent{z-index:1}.toast{background:var(--colorTypePrimary);color:var(--colorTypeContrast);font-family:Inter;font-size:var(--base-small-1);padding:var(--base-small-2) var(--base-large-1);white-space:nowrap;pointer-events:auto;animation:toast-in var(--animation) cubic-bezier(.35, 1.3, .65, 1) forwards;border-radius:999px;justify-content:center;align-items:center;gap:1rem;font-weight:500;display:flex}.toast-action{color:var(--colorAccent);cursor:pointer;font-family:inherit;font-weight:600;font-size:inherit;background:0 0;border:none}.toast.exiting{animation:toast-out var(--animation) cubic-bezier(.35, 1.3, .65, 1) forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(8px)}}.toast.toast-back-to-today{background:var(--colorBackgroundSecondary);color:var(--colorTypePrimary)}h1{font-family:Merriweather;font-size:var(--base-large-3);cursor:pointer;flex:1}h2{font-family:Inter Display;font-size:var(--base-large-2);font-weight:600}h3{font-family:Inter Display;font-size:var(--base-large-1);font-weight:500}h4{font-family:Inter Display;font-size:var(--base);cursor:default;font-weight:500}button{cursor:pointer;font-family:inherit;font-size:var(--base);-webkit-appearance:none;color:inherit;background:0 0;border:none}svg{width:100%;height:100%;display:block}button.arrow:active,button.clear:active,button.add:hover,button.back:hover,button.today:hover,button.add:active,button.back:active,button.today:active,button.action:active,button.cancel:active,button.confirm:active{opacity:var(--opacityActive)}button.cancel:hover,button.confirm:hover{transform:var(--scaleHover)}button.arrow{width:var(--base);height:var(--base);color:inherit;transition:opacity var(--animation);justify-content:center;align-items:center;display:flex}button.intensity{aspect-ratio:4/3;justify-content:flex-end;align-items:flex-start;gap:var(--base-small-2);border-radius:var(--base-small-4);transition:all var(--animation);flex-direction:column;display:flex}button.clear{width:100%;color:var(--colorClear);text-align:center;padding:var(--base-small-2) 0 0;transition:opacity var(--animation);font-weight:400;display:block}button.add,button.back,button.today{align-items:center;gap:var(--base-small-4);font-size:var(--base-small-1);color:var(--colorAccent);transition:opacity var(--animation);font-weight:500;display:flex}button.add svg,button.back svg{width:var(--base-small-1);height:var(--base-small-1)}button.grip{width:var(--base-large-1);height:var(--base-large-1);cursor:grab;color:var(--colorTypeSecondary);touch-action:none;flex-shrink:0;align-items:center;display:flex}button.grip:active{cursor:grabbing}button.action{width:var(--base-small-1);height:var(--base-small-1);transition:opacity var(--animation), color var(--animation);align-items:center;display:flex}button.action.delete{color:var(--colorTypeSecondary)}button.action.delete:hover,button.action.delete:focus,button.action.delete:active{color:var(--colorClear)}button.action.submit{color:var(--colorConfirm)}button.swatch.selected{transition:transform var(--animation)}button.swatch.selected:not(:disabled):active{transform:scale(.88)}button.swatch.selected:disabled{cursor:default;opacity:.5}button.medicine{justify-content:space-between;align-items:center;width:100%;display:flex}button.cancel,button.confirm{border-radius:var(--base-small-1);padding:var(--base-small-1);transition:opacity var(--animation), transform var(--animation);flex:1}button.cancel{background:var(--colorBackgroundSecondary);font-weight:500}button.confirm{background:var(--colorClear);color:var(--colorTypeContrast);font-weight:600}.login-screen{justify-content:center;align-items:center;gap:var(--base);flex-direction:column;flex:1;display:flex}.login-screen h1{cursor:default;flex:0}button.sign-in{color:#fff;cursor:pointer;background:#000;border:none;border-radius:12px;justify-content:center;align-items:center;gap:11px;height:46px;padding:0 14px;font-size:1rem;font-weight:500;display:inline-flex}button.sign-in svg{flex-shrink:0;width:23px;height:23px;display:block}button.sign-out{font-size:var(--base);color:var(--colorClear);text-align:left;cursor:pointer;width:100%;max-width:var(--baseWidth);background:0 0;border:none}button.delete-account{font-size:var(--base);color:var(--colorClear);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit;font-weight:500}.intensity{background:color-mix(in srgb, var(--day-color) var(--intensityDayOther), transparent)}.intensity.active{background:color-mix(in srgb, var(--day-color) var(--intensityDayToday), transparent)}button.menu{width:var(--base-large-2);height:var(--base-large-2);transition:opacity var(--animation);z-index:201;justify-content:center;align-items:center;display:flex;position:relative}button.menu:hover,button.menu:active{opacity:var(--opacityActive)}.menu-icon{flex-direction:column;justify-content:center;gap:4px;width:18px;height:14px;display:flex}.menu-icon span{transform-origin:50%;background:currentColor;border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .25s;display:block}header.main.open .menu-icon span:first-child{transform:translateY(6px)rotate(45deg)}header.main.open .menu-icon span:nth-child(2){opacity:0;transform:scaleX(0)}header.main.open .menu-icon span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}nav.menu-items{gap:var(--base-small-2);max-width:var(--baseWidth);flex-direction:column}button.menu-item{cursor:pointer;text-align:left;font-size:var(--base-large-2);color:var(--colorTypeSecondary,#999);padding:var(--base-small-2) 0;letter-spacing:-.02em;background:0 0;border:none;font-weight:600;transition:color .15s,opacity .15s}button.menu-item:active{opacity:var(--opacityActive)}button.menu-item.active{color:var(--colorType)}main.loading{flex:1;justify-content:center;align-items:center}main.loading h1{cursor:default;flex:0}body:has(main.settings){max-height:fit-content}
