
*{box-sizing:border-box}body{margin:0;background:#f6f4ef;color:#171717;font:16px system-ui,-apple-system,sans-serif}main{max-width:520px;margin:auto;padding:32px 22px 110px}header{display:flex;justify-content:space-between;align-items:center}small,.muted{color:#77736d}h1{font-size:36px;letter-spacing:-1.5px;font-weight:550;margin:32px 0 8px}h2{font-size:20px;font-weight:550;margin:28px 0 14px}button,input{font:inherit}button{cursor:pointer;border:0}button:focus-visible,input:focus-visible{outline:3px solid #171717;outline-offset:3px}.card{background:#fff;border:1px solid #e8e4de;border-radius:22px;padding:20px;margin:12px 0}.activity{width:100%;display:flex;text-align:left;align-items:center;gap:15px;min-height:90px;color:inherit}.activity span{flex:1}.activity b{display:block;font-weight:550}.activity small{display:block;margin-top:6px}.icon{font-size:25px;min-width:34px}.check{border:1px solid #c7c2ba;width:30px;height:30px;border-radius:50%;display:grid;place-items:center}.done{background:#e8e4de;border-color:#c7c2ba}.done .check{background:#171717;color:white;border-color:#171717}.add{background:transparent;color:#171717;padding:17px;width:100%;border:1px dashed #c7c2ba;border-radius:18px}.nav{position:fixed;bottom:0;left:0;right:0;background:#f6f4eff5;border-top:1px solid #e8e4de;padding:13px 12px calc(13px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:10px}.nav button{padding:12px 18px;border-radius:15px;background:none;color:#77736d}[hidden]{display:none!important}.nav .active{background:#e8e4de;color:#171717}.date{border:0;background:none;color:#77736d;max-width:160px}.row{display:flex;justify-content:space-between;align-items:center;gap:8px}.quiet{background:none;color:#171717;padding:10px}.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.day{aspect-ratio:1;border-radius:14px;background:white;color:#171717;position:relative}.day:disabled{opacity:.35;cursor:default}.day.mark{background:#e8e4de}.day.selected{outline:2px solid #171717}.day{min-width:0;min-height:70px;aspect-ratio:auto;padding:7px 2px;display:flex;flex-direction:column;align-items:center;gap:6px}.day-number{font-size:14px}.day-icons{display:grid;grid-template-columns:repeat(2,14px);justify-content:center;gap:1px 3px;min-height:28px;font-size:14px;line-height:14px}.more{font-size:10px;font-weight:600;line-height:14px}#sync:empty{display:none!important}select{display:block;font:inherit;font-size:16px;padding:8px 14px;margin:10px 0 20px;border:1px solid #c7c2ba;background:white;border-radius:12px;color:inherit}.week{text-align:center;color:#77736d;font-size:12px;padding:12px 0}.stats{display:flex;gap:12px}.stats .card{flex:1}.number{font-size:38px;display:block}dialog{border:0;border-radius:24px;width:calc(100% - 36px);max-width:450px;padding:25px;color:#171717;background:#f6f4ef}dialog::backdrop{background:#00000066}input[type=text],input[type=password],input[type=number]{width:100%;border:1px solid #c7c2ba;border-radius:12px;padding:14px;margin:10px 0 18px;background:white}.primary{background:#171717;color:white;padding:14px 20px;border-radius:14px}.notice{font-size:13px;line-height:1.5;color:#77736d;margin-top:30px}p{line-height:1.5}.empty{padding:20px 0;color:#77736d}
@media(max-width:520px){main{padding-top:24px}h1{font-size:32px;margin-top:24px}h2{margin-top:22px}.activity{min-height:72px;padding:14px;margin:10px 0}.activity small{font-size:12px;margin-top:4px}}
.activity-symbol{display:inline-block;width:24px;height:24px;vertical-align:middle;color:#171717;flex:none}.day-icons .activity-symbol{width:14px;height:14px}.card>.activity-symbol,.row span>.activity-symbol{margin-right:8px}.icon{display:flex;align-items:center;justify-content:center}

.brand{display:flex;align-items:center;gap:10px}.brand b{font-size:32px;letter-spacing:-1.2px;font-weight:700}.brand img{border-radius:12px}.date-switcher{display:flex;justify-content:center;align-items:center;gap:12px;margin:22px 0 14px;position:relative}.date-switcher .quiet{width:44px;height:44px;border:1px solid #e8e4de;border-radius:50%;background:#fff}.date-picker{position:relative;display:grid;place-items:center;min-width:132px;font-size:18px;font-weight:550;min-height:44px}.date-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;max-width:none;cursor:pointer}.today-link{position:absolute;right:0;top:48px;font-size:12px;background:none;color:#77736d;padding:6px}.activity-list{margin-top:24px}.quiet:disabled{opacity:.25;cursor:default}.segments{display:flex;max-width:290px;margin:20px auto 16px;border:1px solid #d8d3cb;border-radius:30px;padding:4px;gap:4px}.segments button{flex:1;padding:10px 8px;border-radius:24px;color:#77736d;background:transparent}.segments button.active{color:#fff;background:#171717}.period-nav{display:flex;align-items:center;justify-content:space-between;font-size:14px;gap:8px}.period-nav span{text-align:center}.summary-ring{position:relative;width:min(100%,230px);aspect-ratio:1;margin:8px auto 16px}.summary-ring svg{width:100%;height:100%;fill:none;stroke-width:14}.ring-track{stroke:#e3dfd8}.ring-value{stroke:#171717;stroke-linecap:round}.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.ring-center strong{font-size:68px;font-weight:650;line-height:1;letter-spacing:-3px}.ring-center span{color:#77736d;font-size:15px}.summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.summary-metrics>div{background:#eae6df;border-radius:20px;text-align:center;padding:16px 8px;display:flex;flex-direction:column;gap:5px}.summary-metrics strong{font-size:28px;font-weight:600}.summary-metrics small{font-size:16px;font-weight:400}.summary-metrics span{color:#77736d;font-size:13px}.trend{margin-top:14px;background:#eae6df;border-radius:22px;padding:12px 8px}.trend svg{display:block;width:100%;overflow:visible}.trend text{font:11px system-ui;fill:#77736d}.chart-grid{stroke:#d1ccc4;stroke-width:1}.chart-line{stroke:#171717;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#171717;stroke:#eae6df;stroke-width:1}.activity-totals{margin:18px 0}.total-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 4px;border-bottom:1px solid #e3dfd8;font-size:14px}.total-row .activity-symbol{margin-right:8px;width:20px;height:20px}
.weekly-goal{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:24px;font-size:13px}.weekly-goal span{color:#77736d}.weekly-goal progress{grid-column:1/-1;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;accent-color:#171717;background:#e3dfd8}.weekly-goal progress::-webkit-progress-bar{background:#e3dfd8}.weekly-goal progress::-webkit-progress-value{background:#171717}.weekly-goal progress::-moz-progress-bar{background:#171717}.goal-period{font-size:12px;margin-top:7px}.weekly-goal+.activity-list{margin-top:16px}
.date-switcher{display:grid;grid-template-columns:44px minmax(80px,1fr) 44px;gap:6px;justify-content:stretch}.date-picker{min-width:0}.today-link{position:static;min-height:44px;font-size:14px;color:#171717;border:1px solid #d8d3cb;border-radius:22px;background:#e8e4de;padding:8px}.today-link:disabled{opacity:.4;cursor:default}.symptom-section{margin-top:24px;border-top:1px solid #d8d3cb;padding-top:12px}.symptom{background:#efebe5;border-style:dashed}.symptom.done{background:#d9d3c9;border-style:solid}.headache-symbol{color:#171717}.headache-total{margin:0 0 22px;background:#eae6df;border-radius:14px;padding:14px}.goals-link{margin-top:6px}.export-link{display:block;margin:12px auto 0}#goal-form{margin-top:24px}#goal-form label{display:block;margin-bottom:18px}
header .today-link{padding:8px 16px}.date-picker{font-size:17px}.day{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;touch-action:pan-y}.day.holding{outline:2px solid #171717;background:#d9d3c9}
.brand{position:relative}#sync{position:absolute;top:38px;left:52px;white-space:nowrap;font-size:11px;line-height:16px;color:#77736d;pointer-events:none}.activity{transition:background-color .15s,border-color .15s}.activity .activity-symbol{transform-origin:center;transition:transform .15s}.activity.saved .activity-symbol{animation:save-pop .35s ease-out 1}@keyframes save-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}@media(prefers-reduced-motion:reduce){.activity,.activity .activity-symbol{transition:none}.activity:active .activity-symbol{transform:none}.activity.saving .activity-symbol,.activity.saved .activity-symbol,body[data-sync="saving"] .brand img{animation:none}}
.summary-ring svg{display:block}.summary-ring .gold-ring{position:absolute;inset:0;pointer-events:none;stroke:#dfc25a;fill:none;stroke-width:14}.gold-ring circle{stroke-dasharray:100 100;stroke-linecap:round}.celebrating .gold-ring circle{animation:gold-complete 1150ms cubic-bezier(.25,.1,.25,1) both}@keyframes gold-complete{from{stroke-dasharray:0 100;opacity:0}1%{opacity:1}to{stroke-dasharray:100 100;opacity:1}}@media(prefers-reduced-motion:reduce){.celebrating .gold-ring circle{animation:none}}
body[data-sync="error"] #sync{pointer-events:auto;cursor:pointer;text-decoration:underline}
.more-activities{display:flex;width:100%;justify-content:center;align-items:center;gap:10px;background:none;color:#77736d;padding:15px;margin:4px 0 10px}.manage-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 20px}.manage-heading h1{font-size:28px;margin:0;letter-spacing:-1px}.manage-heading .primary{padding:10px 18px}.manage-card{border:1px solid #e8e4de;background:white;border-radius:20px;padding:12px 16px;margin:10px 0}.manage-top{display:flex;align-items:center;gap:12px}.manage-top b{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:550}.manage-top .quiet{min-height:44px;font-size:14px;padding:10px 0 10px 12px}.manage-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}.manage-controls label,.shortlist-label{min-height:44px;display:flex;align-items:center;gap:8px;font-size:13px;color:#77736d;min-height:44px}input[type=checkbox]{width:18px;height:18px;accent-color:#171717;cursor:pointer}.order-button{min-height:44px;background:#f6f4ef;border:1px solid #e8e4de;width:40px;height:36px;border-radius:12px;color:#171717}.order-button:disabled{opacity:.25;cursor:default}.archive-list{margin-top:24px;color:#77736d}.archive-list summary{cursor:pointer;padding:10px 0}.icon-field{border:0;padding:0;margin:18px 0}.icon-field legend{padding:0;margin-bottom:12px}.icon-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.icon-choice{min-height:48px;border:1px solid #ddd8d0;border-radius:12px;background:white;display:grid;place-items:center}.icon-choice.selected{background:#e8e4de;border:2px solid #171717}.icon-choice .activity-symbol{width:25px;height:25px}.editor-actions{margin-top:20px}.delete-activity{display:block;width:100%;background:none;color:#77736d;text-decoration:underline;min-height:44px;margin-top:12px}dialog{max-height:calc(100dvh - 36px);overflow-y:auto}.shortlist-label{color:#171717;font-size:15px}
.activity-shell{position:relative}.activity.has-detail{padding-right:126px}.activity .check{margin-left:auto;flex:none}.activity.has-detail .check{position:absolute;right:14px}.measurement-badge{position:absolute;right:53px;top:50%;transform:translateY(-50%);min-height:44px;padding:8px 10px;border-radius:12px;background:#f6f4ef;color:#171717;font-size:13px;font-weight:600}.tracking-field{border:0;padding:0;margin:18px 0}.tracking-options{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 14px}.tracking-options label{display:flex;align-items:center;gap:7px;min-height:40px;font-size:14px}input[type=radio]{accent-color:#171717;width:18px;height:18px}#measurement-value{display:block;text-align:center;font-size:36px;font-weight:600;margin:30px 0}#measurement-range{width:100%;height:44px;accent-color:#171717;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:12px;color:#77736d}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.detail-summary>summary{list-style:none;cursor:pointer;min-height:48px}.detail-summary>summary::-webkit-details-marker{display:none}.measurement-chart{background:#eae6df;border-radius:18px;padding:14px;margin:10px 0 16px}.measurement-chart svg{width:100%;display:block}.measurement-chart text{font:10px system-ui;fill:#77736d}.measurement-chart .value-label{fill:#171717;font-weight:600}.measurement-chart header{font-size:13px;margin-bottom:8px}.measurement-chart rect{fill:#171717}.activity span{min-width:0;overflow-wrap:anywhere}
.range-ticks{height:7px;margin:0 8px 8px;background:repeating-linear-gradient(to right,#c7c2ba 0 1px,transparent 1px calc(100% / var(--tick-count,47)))}
.measurement-badge{right:60px;background:#171717;color:#fff;border-radius:12px;padding:8px 12px;min-height:40px}.activity.has-detail{padding-right:140px}.summary-count{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:none}.summary-count b{min-width:22px;text-align:right;font-variant-numeric:tabular-nums}.details-chevron{width:20px;height:20px;fill:none;stroke:#77736d;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}.detail-summary[open] .details-chevron{transform:rotate(180deg)}.wheel-frame{position:relative;margin:28px 0 0;isolation:isolate}.wheel-frame::before{content:'';position:absolute;left:50%;top:8px;bottom:8px;transform:translateX(-50%);width:72px;background:#e8e4de;border-radius:18px;z-index:-1}#measurement-wheel{display:flex;align-items:center;width:100%;height:100px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding-inline:calc(50% - 36px);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;-webkit-mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to right,transparent,#000 18%,#000 82%,transparent)}#measurement-wheel::-webkit-scrollbar{display:none}.wheel-number{flex:0 0 72px;width:72px;height:84px;scroll-snap-align:center;background:transparent;color:#99948c;font-size:23px;font-weight:500;font-variant-numeric:tabular-nums;padding:0;transition:color .12s,transform .12s;user-select:none;-webkit-user-select:none}.wheel-number.chosen{color:#171717;font-size:34px;font-weight:650}#measurement-unit{text-align:center;color:#77736d;font-size:14px;margin:12px 0 30px}@media(prefers-reduced-motion:reduce){.wheel-number{transition:none}}
.measurement-badge{background:transparent;color:#171717;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#99948c;text-decoration-thickness:1px;border-radius:0;padding:8px;right:60px}.measurement-chart header{align-items:flex-start;gap:12px}.measurement-stats{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.measurement-stats span{color:#77736d;font-size:12px}.measurement-stats b{color:#171717;font-weight:600;margin-left:5px}
.date-picker input{display:none}.date-open{position:absolute;inset:0;background:transparent;border-radius:12px}.period-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;margin:18px 0 14px}.period-nav>.quiet,.picker-nav>.quiet{width:44px;height:44px;border:1px solid #e8e4de;border-radius:50%;background:#fff}.period-label{font-size:17px;font-weight:550;color:#171717;background:transparent;min-height:44px;padding:8px 4px;text-align:center}.period-nav,.summary-ring{touch-action:pan-y;user-select:none;-webkit-user-select:none}.picker-nav{display:grid;grid-template-columns:44px 1fr 44px;gap:6px;align-items:center;margin-bottom:10px}.picker-grid{gap:4px}.picker-day{min-height:40px;border-radius:12px;background:transparent;color:#171717;font-size:15px}.picker-day.picked{background:#171717;color:#fff}.picker-day.is-today:not(.picked){background:#e8e4de}.picker-day:disabled{opacity:.25;cursor:default}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.month-grid .picker-day{min-height:50px}.picker-year{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.picker-year select{margin:0;min-width:120px}.row>#calendar-month{flex:1}#date-dialog{max-width:380px}
#date-picker-title:focus{outline:none}
