.mm-shell{min-height:100dvh;max-width:var(--size-mobile-max-width);margin:0 auto;background:var(--color-bg-subtle);display:flex;flex-direction:column;position:relative}.mm-shell--home{background:var(--grad-hero)}.mm-main{flex:1 1;display:flex;flex-direction:column;gap:var(--space-section);padding:var(--space-2) var(--space-screen-x) calc(var(--size-bottom-nav-height) + var(--space-10))}.mm-main--action{padding-bottom:calc(var(--size-bottom-nav-height) + var(--space-16) + var(--space-10))}.mm-main--no-tab{padding-bottom:calc(var(--space-16) + var(--space-8))}.mm-header{justify-content:space-between;gap:var(--space-3)}.mm-brand,.mm-header{display:flex;align-items:center;min-height:var(--size-tap-min)}.mm-brand{gap:var(--space-2);font-size:var(--font-size-title);font-weight:var(--font-weight-bold);color:var(--color-brand);text-decoration:none}.mm-header__back{display:flex;align-items:center;gap:var(--space-2)}.mm-header__back h1{font-size:var(--font-size-heading);line-height:var(--line-height-heading)}.mm-brand img{width:var(--space-8);height:var(--space-8);object-fit:contain}.mm-header h1{margin:0;font-size:var(--font-size-display);line-height:var(--line-height-display)}.mm-icon-button{display:grid;place-items:center;width:var(--size-tap-min);height:var(--size-tap-min);border:0;background:transparent;color:var(--color-ink);text-decoration:none}.mm-greeting{display:flex;flex-direction:column;gap:var(--space-1)}.mm-greeting h1{margin:0;font-size:var(--font-size-display);line-height:var(--line-height-display)}.mm-greeting p,.mm-muted{margin:0;font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--color-ink-3)}.mm-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.mm-section{min-width:0}.mm-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-card);border-radius:var(--radius-card);background:var(--color-bg);border:var(--size-hairline) solid var(--color-line)}.mm-card h2,.mm-card h3,.mm-card p{margin:0}.mm-card h2{font-size:var(--font-size-title)}.mm-card h3{font-size:var(--font-size-heading)}.mm-card p{font-size:var(--font-size-body);line-height:var(--line-height-body)}.mm-card--detail{gap:var(--space-2);padding-block:var(--space-3)}.mm-card--compact{gap:var(--space-2);padding:var(--space-2) var(--space-card)}.mm-card--detail h1{margin:0;font-size:var(--font-size-display);line-height:var(--line-height-display)}.mm-progress-summary{display:flex;align-items:center;gap:var(--space-2)}.mm-progress-summary strong{white-space:nowrap;font-size:var(--font-size-body)}.mm-progress-summary .mj-progress-bar{flex:1 1}.mm-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.mm-row--start{justify-content:flex-start}.mm-stack{flex-direction:column}.mm-scroll,.mm-stack{display:flex;gap:var(--space-3)}.mm-scroll{overflow-x:auto;margin:0 calc(-1 * var(--space-screen-x));padding:0 var(--space-screen-x);scroll-snap-type:x mandatory;scrollbar-width:none}.mm-scroll>*{scroll-snap-align:start}.mm-scroll::-webkit-scrollbar{display:none}.mm-link{color:var(--color-brand);text-decoration:none;font-weight:var(--font-weight-semibold)}.mm-card>.mm-link,.mm-login>.mm-link,.mm-main>.mm-link{display:inline-flex;align-items:center;min-height:var(--size-tap-min)}.mm-notice{display:flex;align-items:center;gap:var(--space-2);text-decoration:none;color:var(--color-ink)}.mm-notice>span:nth-child(2){flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mm-notice .mj-icon{width:var(--space-5);height:var(--space-5);color:var(--color-ink-3)}.mm-sermon-list{display:flex;flex-direction:column;gap:var(--space-3)}.mm-sermon-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-card);text-decoration:none;color:var(--color-ink)}.mm-sermon-item img{width:var(--space-16);height:var(--space-16);object-fit:cover;border-radius:var(--radius-md)}.mm-sermon-item>div{display:flex;flex:1 1;min-width:0;flex-direction:column;gap:var(--space-1)}.mm-sermon-item strong{font-size:var(--font-size-body-strong)}.mm-sermon-item span{font-size:var(--font-size-caption);color:var(--color-ink-3)}.mm-player{display:grid;place-items:center;aspect-ratio:16/9;border-radius:var(--radius-card);background:var(--color-brand-deep);color:var(--color-on-strong);text-align:center;padding:var(--space-5)}.mm-player .mj-icon{width:var(--space-12);height:var(--space-12)}.mm-player p{margin:0;font-size:var(--font-size-caption)}.mm-list{margin:0;padding-left:var(--space-5);font-size:var(--font-size-body);line-height:var(--line-height-body)}.mm-comment-form,.mm-list,.mm-message-form{display:flex;flex-direction:column;gap:var(--space-2)}.mm-comment-form .mj-button,.mm-message-form .mj-button{align-self:flex-end}.mm-reading-summary{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-screen-x)) calc(-1 * var(--space-section));padding:var(--space-7) var(--space-screen-x) var(--space-8);background:var(--grad-hero)}.mm-reading-summary>p{margin:0;font-size:var(--font-size-title);font-weight:var(--font-weight-bold)}.mm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-2);gap:var(--space-2)}.mm-stat{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border-radius:var(--radius-card);background:var(--color-bg);text-align:center}.mm-stat span{font-size:var(--font-size-caption);color:var(--color-ink-3)}.mm-stat strong{font-size:var(--font-size-title);color:var(--color-brand)}.mm-reading-day{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--size-hairline) solid var(--color-line)}.mm-reading-day>span{font-size:var(--font-size-body)}.mm-reading-day .mj-icon{color:var(--color-positive)}.mm-photo-wide{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius-card)}.mm-people{flex-wrap:wrap}.mm-detail-line,.mm-people{display:flex;gap:var(--space-2)}.mm-detail-line{align-items:center}.mm-detail-line .mj-icon{width:var(--space-5);height:var(--space-5);color:var(--color-ink-3)}.mm-group-summary{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-mint-soft)}.mm-group-summary p{margin:0;color:var(--color-mint-ink);font-size:var(--font-size-caption)}.mm-messages{gap:var(--space-3)}.mm-messages,.mm-prayer{display:flex;flex-direction:column}.mm-prayer{gap:var(--space-2);padding:var(--space-card);border-radius:var(--radius-card);background:var(--color-peach-soft)}.mm-prayer p{margin:0;font-size:var(--font-size-body);line-height:var(--line-height-body)}.mm-prayer button{align-self:flex-start}.mm-gathering-actions{display:flex;flex-direction:column;gap:var(--space-2);position:fixed;left:50%;bottom:calc(var(--size-bottom-nav-height) + var(--space-3));transform:translateX(-50%);width:min(100%,var(--size-mobile-max-width));padding:var(--space-3) var(--space-screen-x);border-top:var(--size-hairline) solid var(--color-line);background:var(--color-bg);z-index:var(--z-topbar)}.mm-gathering-actions .mj-button{width:100%}.mm-status-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-chip);font-size:var(--font-size-body);line-height:var(--line-height-body)}.mm-error{color:var(--color-danger-text)}.mm-error,.mm-success{margin:0;font-size:var(--font-size-body)}.mm-success{color:var(--color-positive-text)}.mm-offering{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-card);border-radius:var(--radius-card);background:var(--color-bg)}.mm-offering p{margin:0;font-size:var(--font-size-body)}.mm-loading{padding:var(--space-8);color:var(--color-ink-3);text-align:center}.mm-login{min-height:100dvh;justify-content:center;gap:var(--space-6);max-width:var(--size-mobile-max-width);margin:0 auto;padding:var(--space-screen-x);background:var(--grad-hero)}.mm-login,.mm-login>div{display:flex;flex-direction:column}.mm-login>div{gap:var(--space-2)}.mm-login h1{margin:0;font-size:var(--font-size-display)}.mm-login p{margin:0;color:var(--color-ink-3)}.mm-login form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-card);background:var(--color-bg)}.mm-login form>.mj-button{width:100%}.mm-login form>.mm-link{display:inline-flex;align-items:center;min-height:var(--size-tap-min)}.mm-auth{justify-content:flex-start;padding-top:var(--space-8)}.mm-auth-demo{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-brand-soft);color:var(--color-brand)}.mm-auth-check{justify-content:flex-start;min-height:var(--size-tap-min);font-size:var(--font-size-body)}.mm-auth-account{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.mm-auth-account h2,.mm-auth-account p{margin:0}.mm-auth-withdraw{display:flex;flex-direction:column;gap:var(--space-3);width:100%}