:root{--bg:#efeff1;--card:#fff;--ink:#111113;--ink-2:#1111138f;--ink-3:#11111347;--line:#11111314;--fill:#1111130f;--accent:#111113;--on-accent:#fff;--shade:#00000052;--r-card:28px;--r-inner:18px;--gap:6px;--pad:20px;--safe-top:max(env(safe-area-inset-top,0px), calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px)));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px));--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif}[data-theme=dark]{--bg:#000;--card:#1c1c1e;--ink:#f5f5f7;--ink-2:#f5f5f799;--ink-3:#f5f5f74d;--line:#ffffff1a;--fill:#ffffff1a;--accent:#f5f5f7;--on-accent:#111113;--shade:#0000008f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none}.app{background:var(--bg);height:100%;color:var(--ink);font:400 16px/22px var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0;padding:0}input,textarea{font:inherit;color:inherit;-webkit-user-select:text;user-select:text;appearance:none;background:0 0;border:0;border-radius:0;outline:none;margin:0;padding:0}input::placeholder,textarea::placeholder{color:var(--ink-3)}.press{transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s}.press:active{transition-duration:60ms;transform:scale(.97)}.press[disabled]{opacity:.32;pointer-events:none}.screen{-webkit-overflow-scrolling:touch;height:100%;padding:calc(var(--safe-top) + 12px) 8px calc(var(--safe-bottom) + 104px);overflow-y:auto}.screen-head{justify-content:space-between;align-items:flex-end;padding:8px 12px 16px;display:flex}.title{font:700 34px/38px var(--font);letter-spacing:-.02em;margin:0}.icon-btn{background:var(--card);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.stack{gap:var(--gap);flex-direction:column;display:flex}.card{text-align:left;background:var(--card);border-radius:var(--r-card);width:100%;padding:18px var(--pad) 20px;display:block}.card-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.card-name{font:600 22px/26px var(--font);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-side{font:400 13px/16px var(--font);color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none}.card-sub{color:var(--ink-2);font:400 15px/20px var(--font);margin-top:2px}.card-viz{margin-top:16px}.card.archived .card-name,.card.archived .card-sub{color:var(--ink-3)}.card-add{border:1.5px dashed var(--ink-3);height:96px;color:var(--ink-2);background:0 0;place-items:center;display:grid}.section-label{font:400 13px/16px var(--font);color:var(--ink-2);padding:22px 12px 8px}.dots{gap:5px;display:flex}.dot{aspect-ratio:1;background:var(--fill);border-radius:50%;flex:1;max-width:16px}.dot.full{background:var(--ink)}.dot.part{background:var(--ink-3)}.dot.miss{box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0}.dot.today{outline:1.5px solid var(--ink);outline-offset:2px}.phases{align-items:flex-end;gap:3px;height:36px;display:flex}.phase{background:var(--fill);border-radius:6px;min-width:6px;position:relative;overflow:hidden}.phase-fill{background:var(--ink);position:absolute;inset:0 auto 0 0}.fab-wrap{padding:24px 16px calc(var(--safe-bottom) + 16px);background:linear-gradient(to top, var(--bg) 40%, transparent);pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:0;left:0;right:0}.fab{pointer-events:auto;background:var(--accent);height:56px;color:var(--on-accent);font:600 17px/22px var(--font);border-radius:999px;align-items:center;gap:8px;padding:0 28px 0 22px;display:flex}.backdrop{background:var(--shade);position:absolute;inset:0}.sheet{max-height:calc(100% - var(--safe-top) - 12px);background:var(--bg);border-radius:var(--r-card) var(--r-card) 0 0;will-change:transform;flex-direction:column;display:flex;position:absolute;bottom:0;left:0;right:0}.sheet-grip{touch-action:none;cursor:grab;flex:none;place-items:center;height:28px;display:grid}.sheet-grip:before{content:"";background:var(--ink-3);border-radius:3px;width:36px;height:5px}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:0 8px 12px;overflow-y:auto}.sheet-foot{gap:var(--gap);padding:8px 8px calc(var(--safe-bottom) + 12px);flex:none;display:flex}.sheet-foot.sticky{background:linear-gradient(to top, var(--bg) 72%, transparent);margin:0 -8px -12px;padding-top:20px;position:sticky;bottom:0}.block{background:var(--card);border-radius:var(--r-card);padding:16px var(--pad) 18px}.block+.block{margin-top:var(--gap)}.block-label{font:400 13px/16px var(--font);color:var(--ink-2);margin-bottom:12px}.field-name{width:100%;font:600 28px/34px var(--font);letter-spacing:-.015em}.field-dose{width:100%;font:400 17px/24px var(--font);color:var(--ink-2);margin-top:6px}.field-note{resize:none;width:100%;min-height:24px;font:400 16px/22px var(--font)}.row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.row+.row{border-top:1px solid var(--line)}.row-label{color:var(--ink)}.seg{background:var(--fill);border-radius:999px;padding:3px;display:flex;position:relative}.seg-item{height:36px;font:500 15px/20px var(--font);color:var(--ink-2);border-radius:999px;flex:1;transition:color .2s;position:relative}.seg-item.on{color:var(--ink)}.seg-thumb{background:var(--card);border-radius:999px;transition:transform .34s cubic-bezier(.3,1.2,.4,1);position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 3px #0000001f}[data-theme=dark] .seg-thumb{box-shadow:none;background:#ffffff29}.seg-panel{margin-top:14px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--fill);height:44px;font:500 16px/22px var(--font);border-radius:999px;padding:0 18px;transition:background .18s,color .18s,transform .28s cubic-bezier(.2,.8,.2,1)}.chip.on{background:var(--accent);color:var(--on-accent)}.chip.round{width:44px;padding:0}.stepper{align-items:center;gap:4px;display:flex}.stepper-btn{background:var(--fill);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.stepper-val{text-align:center;min-width:76px;font:600 17px/22px var(--font);font-variant-numeric:tabular-nums}.times{flex-wrap:wrap;gap:8px;display:flex}.time{background:var(--fill);height:44px;font:600 17px/22px var(--font);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:0 6px 0 16px;display:flex;position:relative}.time input{width:62px}.time input::-webkit-calendar-picker-indicator{display:none}.time-x{width:32px;height:32px;color:var(--ink-2);place-items:center;display:grid}.time-add{background:var(--fill);border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.phase-tabs{padding:2px var(--pad) 12px;margin:0 calc(var(--pad) * -1);scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.phase-tabs::-webkit-scrollbar{display:none}.phase-tab{border-radius:var(--r-inner);background:var(--fill);text-align:left;height:52px;font:400 12px/15px var(--font);color:var(--ink-2);flex:none;padding:0 16px;transition:background .18s,color .18s}.phase-tab b{font:600 16px/20px var(--font);color:var(--ink);display:block}.phase-tab.on{background:var(--accent);color:var(--on-accent)}.phase-tab.on b{color:var(--on-accent)}.phase-tab.add{width:52px;color:var(--ink);place-items:center;padding:0;display:grid}.btn{height:56px;font:600 17px/22px var(--font);border-radius:999px;flex:1}.btn.primary{background:var(--accent);color:var(--on-accent)}.btn.quiet{background:var(--card);flex:none;place-items:center;width:56px;display:grid}.fail{top:calc(var(--safe-top) + 10px);background:var(--accent);color:var(--on-accent);font:500 14px/18px var(--font);white-space:nowrap;border-radius:999px;padding:10px 16px;position:absolute;left:50%;translate:-50%}
