:root{--px-sunken:oklch(0.958 0.004 148)}.chip{font-size:.72rem;font-weight:600;padding:.25rem .6rem;border-radius:var(--radius-full);background:var(--px-sunken);color:var(--ink-soft);white-space:nowrap}.chip--good{background:var(--mint);color:var(--evergreen)}.chip--warn{background:var(--coral-soft);color:var(--coral-ink)}.px-page{max-width:var(--column);margin:0 auto;padding:var(--space-lg) var(--space-md) calc(var(--tabbar-h) + var(--space-lg));gap:var(--space-lg)}.px-page,.px-page__head{display:flex;flex-direction:column}.px-page__head{gap:var(--space-2xs)}.px-page__title{font-size:1.35rem;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.px-page__sub{font-size:.9rem;color:var(--ink-soft)}.px-section-label{font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-bottom:var(--space-xs)}.px-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-md);box-shadow:var(--shadow-sm)}.px-stack{display:flex;flex-direction:column;gap:var(--space-sm)}.px-state{text-align:center;color:var(--ink-faint);font-size:.9rem;padding:var(--space-2xl) var(--space-md)}.px-state--error{color:var(--coral-ink)}.px-appt{display:flex;flex-direction:column;gap:var(--space-2xs)}.px-appt__botrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.px-appt__botrow .chip{flex:none}.px-appt__date{font-size:1rem;font-weight:600;color:var(--ink)}.px-appt__meta{font-size:.88rem;color:var(--ink-soft)}.px-appt--past .px-appt__date{font-weight:550;color:var(--ink-soft);font-size:.92rem}.px-appt--past .px-appt__meta{color:var(--ink-faint);font-size:.82rem}.px-card--past{background:var(--px-sunken);box-shadow:none;padding:var(--space-sm) var(--space-md)}.px-past summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--space-xs);color:var(--ink-faint);font-size:.8rem;font-weight:650;text-transform:uppercase;letter-spacing:.07em;padding:var(--space-xs) 0;-webkit-tap-highlight-color:transparent}.px-past summary::-webkit-details-marker{display:none}.px-past summary:after{content:"";width:.45em;height:.45em;border-right:1.5px solid;border-bottom:1.5px solid;transform:rotate(45deg) translateY(-1px);transition:transform .16s var(--ease-out)}.px-past[open] summary:after{transform:rotate(-135deg) translateY(1px)}.px-past .px-stack{margin-top:var(--space-xs)}.px-event{display:flex;flex-direction:column;gap:var(--space-xs)}.px-event__name{font-size:1rem;font-weight:600;color:var(--ink)}.px-event__next{font-size:.88rem;color:var(--ink-soft)}.px-event__next strong{color:var(--evergreen);font-weight:600}.px-event__join{align-self:flex-start;margin-top:var(--space-2xs);text-decoration:none}.px-form{gap:var(--space-md)}.px-field,.px-form{display:flex;flex-direction:column}.px-field{gap:var(--space-2xs)}.px-field label{font-size:.84rem;font-weight:600;color:var(--ink)}.px-field .px-field__hint{font-size:.78rem;color:var(--ink-faint)}.px-field input,.px-field textarea{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:.6rem .75rem;outline:none;width:100%}.px-field textarea{resize:vertical;min-height:4.5rem}.px-field input:focus,.px-field textarea:focus{border-color:var(--mint-strong);box-shadow:0 0 0 3px var(--ring)}.px-form__error{font-size:.85rem;color:var(--coral-ink);background:var(--coral-soft);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm)}.px-form .btn--primary{justify-content:center;padding:.7rem 1rem;font-size:.95rem}.px-done{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md)}.px-done__glyph{width:52px;height:52px;border-radius:var(--radius-full);display:grid;place-content:center;background:var(--mint);color:var(--evergreen);font-size:1.4rem}.px-done__title{font-size:1.1rem;font-weight:650;color:var(--ink)}.px-done__body{font-size:.9rem;color:var(--ink-soft);max-width:24rem}.px-profile__name{font-size:1.25rem;font-weight:650;color:var(--ink)}.px-kv{display:flex;flex-direction:column;gap:var(--space-2xs)}.px-kv__label{font-size:.72rem;font-weight:650;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint)}.px-kv__value{font-size:.95rem;color:var(--ink)}.px-sober{background:var(--evergreen);color:var(--evergreen-ink);border:none;text-align:center;display:flex;flex-direction:column;gap:var(--space-2xs);padding:var(--space-lg) var(--space-md)}.px-sober__day{font-size:2rem;font-weight:700;letter-spacing:-.02em}.px-sober__note{font-size:.85rem;opacity:.85}.px-signout{align-self:center;margin-top:var(--space-md);background:none;border:none;cursor:pointer;font:inherit;font-size:.85rem;color:var(--ink-faint);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full)}.px-signout:hover{color:var(--coral-ink);background:var(--surface-hover)}.px-appt__on{color:var(--ink-faint);font-weight:500}.px-datebox{flex:none;width:52px;padding:6px 0 8px;display:flex;flex-direction:column;align-items:center;gap:1px;border-radius:var(--radius-md);background:var(--mint);color:var(--evergreen);line-height:1}.px-datebox__month{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.75}.px-datebox__day{font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.px-datebox--soft{background:var(--px-sunken,oklch(.955 .004 148));color:var(--ink-faint)}.px-lead{display:flex;align-items:flex-start;gap:var(--space-sm)}.px-lead__body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.px-lead__title{font-size:1rem;font-weight:650;color:var(--ink);letter-spacing:-.01em}.px-lead__line{font-size:.875rem;color:var(--ink-soft)}.px-lead__line--quiet{color:var(--ink-faint);font-size:.82rem}.px-iconplate{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--mint);color:var(--evergreen)}.px-sectionlabel{font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);padding:var(--space-xs) 2px 0}.px-rows{display:flex;flex-direction:column;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);overflow:hidden}.px-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-height:52px;text-align:left;width:100%;background:none;border:0;font:inherit;color:var(--ink)}.px-row+.px-row{border-top:1px solid var(--border)}.px-row__icon{flex:none;color:var(--mint-strong);display:grid;place-items:center}.px-row__label{font-size:.8rem;color:var(--ink-faint);flex:none}.px-row__value{margin-left:auto;font-size:.95rem;font-weight:550;color:var(--ink);text-align:right;overflow-wrap:anywhere}.px-row--action{cursor:pointer;font-weight:600}.px-row--action .px-row__label{color:var(--ink);font-size:.95rem;font-weight:600}.px-row--action:hover{background:var(--surface-hover)}.px-row--danger .px-row__icon,.px-row--danger .px-row__label{color:var(--coral-ink)}.px-avatar{width:68px;height:68px;border-radius:var(--radius-full);background:var(--evergreen);color:var(--evergreen-ink);display:grid;place-items:center;font-size:1.5rem;font-weight:700;letter-spacing:.01em}.px-identity{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-sm) 0 var(--space-md);text-align:center}.px-identity__name{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.px-identity__org{font-size:.9rem;color:var(--ink-soft)}.px-empty2{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--ink-faint)}.px-empty2__plate{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--mint);color:var(--evergreen);margin-bottom:var(--space-2xs)}.px-empty2__text{font-size:.92rem;max-width:26ch;line-height:1.5}.px-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.helpcard{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);min-height:72px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);transition:background .15s ease,transform .1s ease}.helpcard:hover{background:var(--surface-hover)}.helpcard:active{transform:scale(.99)}.helpcard__plate{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-full);background:var(--mint);color:var(--evergreen)}.helpcard__body{display:flex;flex-direction:column;gap:2px;min-width:0}.helpcard__title{font-size:1rem;font-weight:650;letter-spacing:-.01em;color:var(--ink)}.helpcard__sub{font-size:.83rem;color:var(--ink-soft);line-height:1.4}.helpcard--primary{background:var(--evergreen);border-color:transparent;color:var(--evergreen-ink)}.helpcard--primary:hover{background:oklch(.31 .065 152)}.helpcard--primary .helpcard__plate{background:rgb(255 255 255/.16);color:var(--evergreen-ink)}.helpcard--primary .helpcard__title{color:var(--evergreen-ink);font-size:1.05rem}.helpcard--primary .helpcard__sub{color:var(--evergreen-ink);opacity:.82}.helpnote{padding:var(--space-md) var(--space-xs) 0;font-size:.83rem;color:var(--ink-faint);text-align:center}.helplink{display:flex;align-items:center;gap:var(--space-xs);align-self:flex-start;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);background:var(--mint);color:var(--evergreen);font-size:.85rem;font-weight:600;transition:background .15s ease}.helplink:hover{background:oklch(.9 .03 150)}