:root{--primary:#0e7c6b;--aqua:#6fd8c8;--aqua-light:#dff5f0;--bg:#f7fbfa;--card:#fff;--text:#12211f;--text-secondary:#4a5c59;--confirmed:#2e9e5b;--attention:#c4791a;--on-primary:#fff;--border:#dfe8e6;--shadow:0 1px 3px #12211f0f, 0 1px 2px #12211f0a;--confirmed-fill:#2e9e5b1f;--attention-fill:#c4791a1a;--scale:1;--fs-body:calc(1.125rem * var(--scale));--fs-small:calc(1rem * var(--scale));--fs-button:calc(1.25rem * var(--scale));--fs-title:calc(1.75rem * var(--scale));--fs-display:calc(2.25rem * var(--scale));--radius:16px;--radius-lg:20px;--tap:48px;--btn-h:56px;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem}:root[data-text-size=LARGE]{--scale:1.15}:root[data-text-size=EXTRA_LARGE]{--scale:1.3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary:#3fbfa8;--aqua:#6fd8c8;--aqua-light:#1d3733;--bg:#0f1a18;--card:#182927;--text:#eaf4f2;--text-secondary:#a8bdb9;--confirmed:#4fc47c;--attention:#e0a355;--border:#243936;--shadow:none;--confirmed-fill:#4fc47c24;--attention-fill:#e0a35524;--on-primary:#06201c}}:root[data-theme=dark]{--primary:#3fbfa8;--aqua:#6fd8c8;--aqua-light:#1d3733;--bg:#0f1a18;--card:#182927;--text:#eaf4f2;--text-secondary:#a8bdb9;--confirmed:#4fc47c;--attention:#e0a355;--border:#243936;--shadow:none;--confirmed-fill:#4fc47c24;--attention-fill:#e0a35524;--on-primary:#06201c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font-weight:400;line-height:1.5}h1,h2,h3{margin:0;font-weight:700;line-height:1.25}h1{font-size:var(--fs-title)}h2{font-size:calc(1.375rem * var(--scale))}h3{font-size:calc(1.1875rem * var(--scale))}p{margin:0 0 var(--space-3)}p:last-child{margin-bottom:0}.screen{min-height:100dvh;padding:max(var(--space-4), env(safe-area-inset-top)) var(--space-3) var(--space-4);flex-direction:column;width:100%;max-width:34rem;margin:0 auto;display:flex}.screen--centered{text-align:center;justify-content:center}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack--tight{gap:var(--space-2)}.stack--loose{gap:var(--space-4)}.spacer{min-height:var(--space-4);flex:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow)}.muted{color:var(--text-secondary)}.small{font-size:var(--fs-small)}.center{text-align:center}.btn{justify-content:center;align-items:center;gap:var(--space-1);width:100%;min-height:var(--btn-h);padding:var(--space-2) var(--space-4);border-radius:var(--radius);font-family:inherit;font-size:var(--fs-button);text-align:center;cursor:pointer;white-space:normal;overflow-wrap:anywhere;border:2px solid #0000;font-weight:600;line-height:1.2;text-decoration:none;display:flex}.btn--primary{background:var(--primary);color:var(--on-primary)}.btn--secondary{background:var(--card);color:var(--primary);border-color:var(--primary)}.btn--ghost{color:var(--primary);min-height:var(--tap);font-size:var(--fs-body);background:0 0;font-weight:600;text-decoration:underline}.btn--huge{min-height:64px;font-size:calc(1.375rem * var(--scale));letter-spacing:.02em}.btn:disabled{opacity:.55;cursor:default}.btn:active:not(:disabled){transform:scale(.99)}.field{gap:var(--space-1);flex-direction:column;display:flex}.label{font-size:var(--fs-body);font-weight:600}.input{width:100%;min-height:var(--btn-h);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--fs-body);color:var(--text);background:var(--card);border:2px solid var(--border);border-radius:var(--radius)}.input:focus{border-color:var(--primary);outline:none}.input-group{display:flex;position:relative}.input-group .input{padding-right:calc(var(--tap) + var(--space-2))}.reveal{width:var(--tap);height:var(--tap);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.alert{border-radius:var(--radius);padding:var(--space-3);font-size:var(--fs-body);border:1px solid #0000}.alert--error,.alert--attention{background:var(--attention-fill);border-color:var(--attention);color:var(--text)}.alert--info{background:var(--aqua-light);border-color:var(--aqua);color:var(--text)}.alert--ok{background:var(--confirmed-fill);border-color:var(--confirmed);color:var(--text)}.dots{gap:var(--space-1);padding:var(--space-2) 0;justify-content:center;display:flex}.dot{background:var(--border);border-radius:50%;width:10px;height:10px}.dot--on{background:var(--primary)}.link{color:var(--primary);min-height:var(--tap);align-items:center;font-weight:600;text-decoration:underline;display:inline-flex}.offline-bar{background:var(--attention-fill);border-bottom:1px solid var(--attention);color:var(--text);font-size:var(--fs-small);padding:var(--space-2) var(--space-3);text-align:center}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--tab-label:max(.8125rem, calc(.8125rem * var(--scale)));--tabbar-h:max(60px, calc(1.5rem + 2px + 2 * 1.15 * var(--tab-label) + 1rem))}.tabbar{z-index:10;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:0;min-height:60px;padding:var(--space-1) 2px;color:var(--text-secondary);font-size:var(--tab-label);text-align:center;overflow-wrap:anywhere;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;font-weight:600;line-height:1.15;text-decoration:none;display:flex}.tab[aria-current=page]{color:var(--primary)}.tab svg{flex-shrink:0;width:1.5rem;height:1.5rem}.screen--tabbed{padding-bottom:calc(var(--tabbar-h) + var(--space-3) + env(safe-area-inset-bottom))}.capsule-card{background:var(--aqua-light);border:1px solid var(--aqua);border-radius:var(--radius-lg);padding:var(--space-4);text-align:center}.capsule-card--done{background:var(--confirmed-fill);border-color:var(--confirmed)}.progress-track{background:var(--border);border-radius:999px;height:14px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%}.card-link{color:inherit;text-decoration:none;display:block}.list-card{align-items:center;gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);color:inherit;min-height:var(--tap);box-shadow:var(--shadow);text-decoration:none;display:flex}.list-card__icon{background:var(--aqua-light);width:3rem;height:3rem;color:var(--primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-card__body{flex:1;min-width:0}.list-card__arrow{color:var(--text-secondary);flex-shrink:0}.faq details{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-2)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--tap);font-size:var(--fs-body);cursor:pointer;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-size:calc(1.5rem * var(--scale));color:var(--primary);flex-shrink:0;font-weight:400;line-height:1}.faq details[open] summary:after{content:"−"}.faq details[open] summary{border-bottom:1px solid var(--border)}.faq__answer{padding:var(--space-3) var(--space-4) var(--space-4);color:var(--text-secondary)}.rule{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.rule:last-child{border-bottom:none}.rule__mark{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex}.rule__mark--do{background:var(--confirmed-fill);color:var(--confirmed)}.rule__mark--avoid{background:var(--attention-fill);color:var(--attention)}.step{gap:var(--space-3);padding:var(--space-3) 0;align-items:flex-start;display:flex}.step__n{background:var(--primary);width:2.5rem;height:2.5rem;color:var(--on-primary);font-weight:700;font-size:var(--fs-body);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.level-ring{border:4px solid var(--primary);background:var(--aqua-light);width:5.5rem;height:5.5rem;color:var(--primary);font-size:var(--fs-display);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.numbers{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.numbers .card{padding:var(--space-3) var(--space-1)}.numbers__value{font-size:calc(1.5rem * var(--scale));line-height:1.2;display:block}.calendar__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.calendar__nav{min-width:var(--tap);min-height:var(--tap);font-size:calc(1.75rem * var(--scale));color:var(--primary);border-radius:12px;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:flex}.calendar__nav--off{color:var(--border)}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__weekday{text-align:center;font-size:var(--fs-small);color:var(--text-secondary);padding-bottom:var(--space-1);font-weight:600}.calendar__day{aspect-ratio:1;border:2px solid var(--border);min-height:40px;color:var(--text);font-family:inherit;font-size:var(--fs-body);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative}.calendar__day--marked{background:var(--confirmed);border-color:var(--confirmed);color:#06210f}.calendar__day--today{outline:2px solid var(--primary);outline-offset:2px}.calendar__day--future{color:var(--border);cursor:default}.calendar__dot{background:var(--primary);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px}.calendar__day--marked .calendar__dot{background:#06210f}.calendar__detail{border-top:1px solid var(--border);padding-top:var(--space-3)}.medals{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));display:grid}.medal{text-align:center;opacity:.45}.medal--earned{opacity:1}.medal__disc{width:3.25rem;height:3.25rem;margin:0 auto var(--space-1);background:var(--border);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.medal--earned .medal__disc{background:var(--aqua-light);color:var(--primary)}.medal__name{font-size:var(--fs-small);line-height:1.25;display:block}.diary__field{min-height:9rem;padding:var(--space-3);resize:vertical;font-family:inherit;line-height:1.6}.diary__read{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.profile__row{padding:var(--space-2) 0;border-bottom:1px solid var(--border);flex-direction:column;gap:2px;display:flex}.profile__row:last-child{border-bottom:none}.setting{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.setting:last-child{border-bottom:none}.setting__label{flex:1;min-width:0}.switch{min-width:5.5rem;min-height:var(--tap);padding:0 var(--space-3);border:2px solid var(--border);background:var(--card);color:var(--text-secondary);font-family:inherit;font-size:var(--fs-small);cursor:pointer;border-radius:999px;flex-shrink:0;font-weight:700}.switch[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.choices .btn{width:auto;font-size:var(--fs-body);padding:var(--space-2);flex:6rem}.product{gap:var(--space-3);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow);grid-template-columns:1fr;display:grid}@media (min-width:26rem){.product{grid-template-columns:6.5rem 1fr;align-items:center}}.product--full{border-color:var(--primary);border-width:2px}.product__art{background:var(--aqua-light);border-radius:var(--radius);min-height:5.5rem;padding:var(--space-2);justify-content:center;align-items:center;display:flex}.product__art--photo{background:0 0;padding:0;overflow:hidden}.product__photo{object-fit:contain;border-radius:calc(var(--radius) - 4px);max-width:100%;max-height:7rem}.bottle-art{max-height:5rem}.bottle-art__body{fill:var(--card);stroke:var(--primary);stroke-width:2px}.bottle-art__cap{fill:var(--primary)}.bottle-art__label{fill:var(--aqua-light);stroke:var(--primary);stroke-width:1.5px}.product__name{font-size:var(--fs-title);margin:0}.product__price{font-size:var(--fs-display);line-height:1.1}.product__tag{font-size:var(--fs-small);color:var(--primary);border:1px solid var(--primary);padding:.15rem var(--space-2);border-radius:999px;align-self:flex-start;font-weight:700}.stock{gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);background:var(--card);box-shadow:var(--shadow);flex-direction:column;display:flex}.stock--low,.stock--empty{background:var(--attention-fill);border-color:var(--attention)}.stock__line{font-size:var(--fs-body);margin:0;font-weight:700}.stock__meter{background:var(--border);border-radius:999px;height:.5rem;overflow:hidden}.stock__fill{background:var(--primary);height:100%}.stock--low .stock__fill{background:var(--attention)}.shortcuts{gap:var(--space-2);grid-template-columns:1fr;display:grid}@media (min-width:22rem){.shortcuts{grid-template-columns:1fr 1fr}}:root[data-text-size=EXTRA_LARGE] .shortcuts{grid-template-columns:1fr}.counter{align-items:stretch;gap:var(--space-2);display:flex}.counter__btn{min-width:var(--btn-h);min-height:var(--btn-h);font-size:var(--fs-title);border:2px solid var(--primary);border-radius:var(--radius);background:var(--card);color:var(--primary);cursor:pointer;flex:none;font-weight:700;line-height:1}.counter__btn:disabled{opacity:.4;cursor:not-allowed}.counter__value{min-height:var(--btn-h);text-align:center;font-size:var(--fs-title);color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex:auto;font-family:inherit;font-weight:700}
