:root{--bg:#eef4fa;--surface:#fff;--surface-2:#f6f9fd;--text:#1f2f45;--muted:#5e7189;--line:#dce6f1;--brand:#2f5f93;--brand-ink:#fff;--brand-soft:#dbe8f6;--mark:#7aa6d6;--sky:#cfe2f3;--ok:#2f9e78;--late:#e3a03a;--miss:#dd5f5c;--due:#2f5f93;--pending:#c5d3e2;--ring-track:#e1eaf4;--danger:#c23b3b;--shadow:0 1px 2px #1f2f450d, 0 8px 24px -12px #1f2f452e;--display:"Playfair Display", Georgia, serif;--body:"Nunito Sans", "Avenir Next", Avenir, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141c27;--surface:#1c2633;--surface-2:#18212d;--text:#e9f0f8;--muted:#9fb0c4;--line:#2c3a4c;--brand:#a9c8ea;--brand-ink:#122033;--brand-soft:#243449;--sky:#243449;--pending:#3d4c5f;--ring-track:#243142;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:16px/1.45 var(--body);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;margin:0}h1,h2{font-family:var(--display);letter-spacing:-.01em;text-wrap:balance;font-weight:600}h1{margin:0;font-size:30px;line-height:1.1}h2{margin:0 0 10px;font-size:20px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:22px 4px 8px;font-size:12px;font-weight:700}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.cap:first-letter{text-transform:uppercase}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.icon{flex:none;display:block}.page{max-width:560px;padding:calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 110px);margin:0 auto}.row-between{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.btn{font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:11px 18px;font-weight:700;transition:transform .12s,background-color .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn:focus-visible,.cal-day:focus-visible,.day:focus-visible,.tabbar button:focus-visible{outline:3px solid var(--mark);outline-offset:2px}.btn.primary{background:var(--brand);color:var(--brand-ink);box-shadow:0 6px 16px -8px #2f5f93b3}.btn.ghost{background:var(--surface);color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.text{color:var(--muted);padding-inline:10px}.btn.danger{color:var(--danger);background:0 0;box-shadow:inset 0 0 0 1.5px}.btn.small{padding:8px 14px;font-size:14px}.btn.wide{width:100%;margin-top:12px;padding:14px}.btn.icon-btn{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);flex:none;padding:0}input,select,textarea{width:100%;font:inherit;border:1.5px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:14px;padding:12px 14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--mark);background:var(--surface);outline:none}label{color:var(--muted);margin-top:14px;font-size:13px;font-weight:600;display:block}label:first-child{margin-top:0}label>input,label>select,label>textarea,label>.colors{margin-top:6px}.two{align-items:flex-end;gap:10px;display:flex}.two>*{flex:1;min-width:0}.two>.btn{flex:none}.two>label{margin-top:14px}.card{background:var(--surface);box-shadow:var(--shadow);border-radius:22px;margin-top:14px;padding:18px}.card-title{color:var(--text);font-family:var(--display);align-items:center;gap:8px;margin:0 0 12px;font-size:20px;font-weight:600;display:flex}.card-title .icon{color:var(--mark)}label.card-title{flex-wrap:wrap;font-size:20px}label.card-title select{font:16px/1.4 var(--body);flex-basis:100%;margin-top:4px}.hint{background:var(--brand-soft);color:var(--text);border-radius:14px;padding:12px 14px;font-size:14px}.hero{background:linear-gradient(140deg, var(--surface) 0%, var(--sky) 130%);box-shadow:var(--shadow);border-radius:28px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:22px;display:flex}.ring-wrap{flex:none;place-items:center;display:grid;position:relative}.ring-wrap img{position:absolute}.hero-text{gap:6px;min-width:0;display:grid}.hero h1{font-size:36px}.hero-sub{color:var(--muted);font-size:15px}.hero-sub b{color:var(--text);font-variant-numeric:tabular-nums;font-size:18px}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0 0 16px;padding:0 4px;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend .dot{border-radius:50%;width:8px;height:8px}.doses{gap:10px;margin:0;padding:0;list-style:none;display:grid}.dose{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 14px 14px 18px;display:flex;position:relative;overflow:hidden}.dose:before{content:"";background:var(--med,var(--mark));border-radius:0 4px 4px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.dose-time{font-variant-numeric:tabular-nums;min-width:48px;font-size:17px;font-weight:800}.dose-main{flex:1;gap:3px;min-width:0;display:grid}.dose-name{overflow-wrap:anywhere;font-weight:700}.dose-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;display:flex}.status{align-items:center;gap:6px;display:inline-flex}.status:before{content:"";background:var(--st);border-radius:50%;width:8px;height:8px}.dose-actions{flex-basis:100%;justify-content:flex-end;align-items:center;gap:4px;margin-top:-2px;display:flex}.btn.take{padding:10px 14px 10px 12px}.dose.due{box-shadow:var(--shadow), inset 0 0 0 2px var(--due)}.dose.taken .dose-name,.dose.late .dose-name,.dose.skipped .dose-name,.dose.taken .dose-time,.dose.late .dose-time,.dose.skipped .dose-time{color:var(--muted)}.empty{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:48px 16px;display:grid}.empty img{opacity:.9}.cal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cal-head h1{text-align:center;font-size:26px}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;margin:0 0 14px;padding:14px 10px;display:grid}.cal-wd{text-align:center;letter-spacing:.06em;color:var(--muted);padding-bottom:6px;font-size:11px;font-weight:700}.cal-day{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:6px 0 8px;transition:background-color .15s;display:flex}.cal-day:hover{background:var(--surface-2)}.cal-day.is-today{background:var(--brand-soft)}.cal-day.is-today .cal-num{color:var(--brand);font-weight:800}.cal-day.is-sel{box-shadow:inset 0 0 0 2px var(--mark)}.cal-num{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.cal-none{width:34px;height:34px}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#141c2766;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;padding:10px 16px calc(env(safe-area-inset-bottom) + 24px);max-height:calc(82vh / var(--zoom,1));border-radius:28px 28px 0 0;margin:0 auto;animation:.25s rise;overflow:auto}.sheet-grip{background:var(--pending);border-radius:3px;width:40px;height:5px;margin:0 auto 14px}.sheet-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.sheet-head h2{margin:0}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(24px)}}.med-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.med-list li{background:var(--surface);cursor:pointer;box-shadow:var(--shadow);border-radius:20px;align-items:center;gap:14px;padding:14px;transition:transform .12s;display:flex}.med-list li:active{transform:scale(.99)}.med-list li>div{flex:1;min-width:0}.med-icon{color:#fff;background:var(--med,var(--mark));border-radius:14px;flex:none;place-items:center;width:44px;height:44px;display:grid}.chev{color:var(--muted)}.swatch{border:0;border-radius:50%;flex:none;width:14px;height:14px;padding:0;display:inline-block}.swatch.big{cursor:pointer;width:34px;height:34px}.swatch.on{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px var(--text)}.colors{flex-wrap:wrap;gap:12px;display:flex}.card.form,.editor .row-between+.card.form{margin-top:0}.time-row{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;margin-bottom:10px;padding:12px}.time-row input[type=time]{font-variant-numeric:tabular-nums;font-weight:700}.days{gap:4px;margin-top:10px;display:flex}.day{background:var(--surface-2);color:var(--muted);font:inherit;box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:999px;flex:1;padding:8px 0;font-size:13px;font-weight:700}.day.on{background:var(--brand);color:var(--brand-ink);box-shadow:none}.btn.add-time{width:100%;box-shadow:inset 0 0 0 1.5px var(--line);outline:1.5px dashed var(--mark);outline-offset:-1.5px;background:0 0;border:0;border-radius:20px;margin-bottom:18px;padding:14px}.catalog-list{background:var(--surface);box-shadow:var(--shadow);border-radius:20px;margin:10px 0;padding:0;list-style:none;overflow:hidden}.catalog-list:empty{display:none}.catalog-list li{border-bottom:1px solid var(--line);cursor:pointer;padding:12px 16px}.catalog-list li:last-child{border-bottom:0}.catalog .btn.ghost{margin-top:12px}.settings h1{margin-bottom:4px}.ok-text{color:var(--ok);align-items:center;gap:8px;margin:0;font-weight:700;display:flex}.switch{color:var(--text);border-top:1px solid var(--line);flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px;margin-top:0;padding:14px 0;font-size:15px;font-weight:600;display:flex}.card>.ok-text+.btn,.card>.btn+.switch,.card>.small+.switch{margin-top:12px}.switch input{appearance:none;background:var(--pending);cursor:pointer;border:0;border-radius:999px;flex:none;width:48px;height:28px;margin:0;padding:0;transition:background-color .2s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch input:checked{background:var(--brand)}.switch input:checked:after{transform:translate(20px)}.quiet{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding-top:14px;font-size:15px;font-weight:600;display:grid}.quiet>span:first-child{grid-column:1/-1}.quiet>span:not(:first-child){color:var(--muted);font-weight:600}.quiet input{min-width:0;padding:8px 10px}.settings .card>.muted.small{margin-top:10px}.tabbar{left:50%;bottom:calc(env(safe-area-inset-bottom) + 12px);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);width:min(520px,100% - 24px);box-shadow:0 10px 30px -10px #1f2f4559, 0 0 0 1px var(--line);z-index:10;border-radius:999px;gap:4px;padding:6px;display:flex;position:fixed;transform:translate(-50%)}.tabbar button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:7px 0 6px;font-size:11px;font-weight:700;transition:background-color .15s,color .15s;display:flex}.tabbar button.on{color:var(--brand);background:var(--brand-soft)}.auth{max-width:380px;padding:calc(env(safe-area-inset-top) + 64px) 20px 40px;text-align:center;margin:0 auto}.auth h1{letter-spacing:-.02em;font-size:48px}.auth form{background:var(--surface);box-shadow:var(--shadow);border-radius:24px;gap:10px;margin:0 0 12px;padding:20px;display:grid}.auth form .btn{margin-top:4px}.auth-logo{margin:0 auto 8px;display:block}html{zoom:var(--zoom,1)}html[data-size=large] .muted,html[data-size=xl] .muted,html[data-size=large] label,html[data-size=xl] label{color:color-mix(in srgb, var(--muted) 70%, var(--text))}html[data-size=xl] .tabbar button{font-size:12px}html[data-size=xl] .cal-grid{gap:2px;padding-inline:4px}.sizes{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sizes .btn{border-radius:16px;flex-direction:column;gap:2px;padding:10px 4px;line-height:1.1}.sizes .btn b{font-family:var(--display);line-height:1}.sizes .btn span{font-size:12px}.sizes .btn.on{background:var(--brand);color:var(--brand-ink);box-shadow:none}html:not([data-size=normal]) .hero{padding:18px}html:not([data-size=normal]) .hero h1{font-size:30px}html:not([data-size=normal]) .ring-wrap svg{width:84px;height:84px}html:not([data-size=normal]) .ring-wrap img{width:36px;height:36px}html:not([data-size=normal]) .quiet{grid-template-columns:auto minmax(0,1fr)}.btn.google{background:var(--surface);color:var(--text);box-shadow:var(--shadow), inset 0 0 0 1.5px var(--line);gap:10px;margin:28px 0 0}.or{color:var(--muted);align-items:center;gap:12px;margin:16px 4px;font-size:13px;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}
