:root{--color-ink:#221812;--color-muted:#6f6254;--color-bg:#fffdf8;--color-paper:#faf4eb;--color-surface:#fff;--color-surface-warm:#fffaf2;--color-line:#ebe1d3;--color-line-strong:#d8c7b2;--color-primary:#8b5e3c;--color-primary-strong:#74472f;--color-primary-soft:#f7ece2;--color-clay:#9a5632;--color-clay-soft:#faeadf;--color-gold:#9a6f1f;--color-gold-soft:#fbefcf;--color-focus:#8b5e3c;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", sans-serif;--font-serif:Georgia, "Times New Roman", serif;--layout-narrow:32rem;--layout-app:62rem;--space-1:.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--text-xs:.76rem;--text-sm:.9rem;--radius-input:.7rem;--radius-card:.9rem;--radius-button:.7rem;--shadow-soft:0 .45rem 1.3rem #43261717;color:var(--color-ink);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}*{box-sizing:border-box}html{background:var(--color-bg)}body{min-width:320px;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#root,.app-shell,.entry-screen,.auth-page,.private-app{min-height:100svh}.entry-screen,.auth-page{background:radial-gradient(circle at 50% 0%, #9a6f1f0e, transparent 17rem), radial-gradient(ellipse at 12% 18%, #9a563207, transparent 11rem), var(--color-bg);padding:var(--space-2);place-items:center;display:grid;position:relative;overflow:hidden}.entry-screen:before,.auth-page:before,.private-app:before{content:"";pointer-events:none;border-top:1px solid #6b3f2706;border-bottom:0;border-left:0;border-right:1px solid #6b3f2706;border-radius:64% 36% 72% 28%;width:7rem;height:12rem;position:absolute;top:4rem;right:-3rem;transform:rotate(-24deg)}.entry-screen:after,.auth-page:after{content:"";pointer-events:none;background:linear-gradient(140deg,#0000 49%,#6b3f2706 50%,#0000 51%);width:8rem;height:11rem;position:absolute;top:10%;left:-2rem;transform:rotate(16deg)}.entry-card,.auth-card{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);z-index:1;border:1px solid #c9b59bb8;gap:.9rem;width:100%;max-width:29rem;padding:clamp(1.05rem,4vw,1.55rem);display:grid;position:relative}.entry-card{background:linear-gradient(180deg, #fffaf2b3, #fffffffa 44%), var(--color-surface)}.brand-lockup{align-items:center;gap:.7rem;display:flex}.brand-lockup strong{color:var(--color-ink);font-weight:850}.brand-lockup span{color:var(--color-muted);font-size:var(--text-sm);display:block}.brand-mark,.persona-token{background:var(--color-surface-warm);color:var(--color-primary-strong);border:1px solid #6b3f272e;border-radius:999px;justify-content:center;align-items:center;font-weight:900;display:inline-flex;overflow:hidden}.brand-mark{width:2.55rem;height:2.55rem}.brand-mark.small{width:2.25rem;height:2.25rem}.persona-token{flex:none;width:3.9rem;height:3.9rem}.brand-mark img,.persona-token img,.primary-action-avatar{object-fit:cover;width:100%;height:100%;display:block}.avatar-token{box-shadow:0 .5rem 1.2rem #4326171f}.entry-copy,.screen-header,.today-screen,.pastor-screen,.reflect-screen,.bible-screen,.progress-screen{gap:.85rem;display:grid}.entry-copy h1,.auth-card h2,.screen-header h2,.primary-action-card h1,.pastor-identity h2{color:var(--color-ink);margin:0;font-size:clamp(1.42rem,4vw,2.05rem);line-height:1.12}.primary-action-card h1{font-size:clamp(1.86rem,5.5vw,2.55rem)}.entry-copy p,.auth-card p,.screen-header p,.primary-action-card p,.utility-card p,.access-preview p,.bible-result p,.module-tile p,.pastor-identity span{color:var(--color-muted);margin:0;line-height:1.55}.eyebrow,.section-kicker{color:var(--color-clay);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.45rem;font-weight:850;display:inline-flex}.entry-actions,.action-stack{gap:.58rem;display:grid}.reassurance{color:var(--color-muted);font-size:var(--text-sm);align-items:center;gap:.45rem;margin:0;display:flex}.button,.text-button,.nav-item,.text-row-button,.back-button,.module-tile.as-button,.topic-chip{cursor:pointer;font:inherit;border:0}.button{border-radius:var(--radius-button);justify-content:center;align-items:center;gap:.55rem;min-height:3rem;padding:.82rem 1rem;font-weight:850;display:inline-flex}.button.primary{background:var(--color-primary);color:#fff;box-shadow:0 .45rem .9rem #74472f2e}.button.primary:hover,.button.primary:active{background:var(--color-primary-strong)}.button.secondary{background:var(--color-surface-warm);color:var(--color-ink);outline:1px solid #c9b59bbd}.button.full{width:100%}.text-button,.back-button,.text-row-button{color:var(--color-primary);background:0 0;font-weight:850}.text-button.centered{margin:0 auto;display:block}.text-row-button{justify-self:start;align-items:center;gap:.35rem;padding:0;display:inline-flex}.button:focus-visible,.text-button:focus-visible,.nav-item:focus-visible,.text-row-button:focus-visible,.back-button:focus-visible,.module-tile.as-button:focus-visible,.topic-chip:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.back-button{left:var(--space-2);top:var(--space-2);align-items:center;gap:.35rem;display:inline-flex;position:absolute}.auth-page{position:relative}.field{gap:.45rem;display:grid}.field span{color:var(--color-ink);font-size:var(--text-sm);font-weight:850}input{background:var(--color-surface);border:1px solid var(--color-line-strong);border-radius:var(--radius-input);color:var(--color-ink);min-height:3.1rem;padding:0 1rem}.private-app{background:radial-gradient(circle at 6% 8%, #9a6f1f09, transparent 12rem), linear-gradient(180deg, #fffaf29e, transparent 12rem), var(--color-bg);grid-template-rows:auto 1fr auto;display:grid;position:relative;overflow-x:hidden}.app-topbar{border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:.72rem var(--space-2);z-index:5;background:#fffaf2f0;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.app-content{max-width:var(--layout-app);padding:.85rem var(--space-2) 5.2rem;width:100%;margin:0 auto}.app-nav{border-top:1px solid var(--color-line);z-index:6;background:#fffdf8f5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--color-muted);background:0 0;flex-direction:column;align-items:center;gap:.18rem;min-height:4rem;padding:.45rem .1rem;font-size:.72rem;font-weight:800;display:flex}.nav-item.active{color:var(--color-primary)}.nav-item:nth-child(2){color:var(--color-primary-strong)}.nav-item:nth-child(2).active{background:#f7ece2b3}.primary-action-card,.utility-card,.pastor-identity,.conversation-panel,.reflection-focus,.bible-search,.bible-result,.access-preview,.module-tile{background:var(--color-surface);border-radius:var(--radius-card);box-shadow:none;border:1px solid #e3d3bddb}.primary-action-card{background:radial-gradient(circle at 1.6rem 1.4rem, #9a6f1f1c, transparent 8rem), linear-gradient(135deg, #f8eee5f0, #fffffffa 60%), var(--color-surface);box-shadow:var(--shadow-soft);border-color:#6b3f272e;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1.05rem;display:grid}.primary-action-avatar{border:1px solid #6b3f2729;border-radius:999px;width:clamp(4.25rem,16vw,5.75rem);height:clamp(4.25rem,16vw,5.75rem);box-shadow:0 .6rem 1.2rem #4326171a}.primary-action-card .button{grid-column:1/-1}.today-stack,.module-grid,.progress-grid{gap:.72rem;display:grid}.utility-card,.reflection-focus,.bible-result,.module-tile,.access-preview{gap:.58rem;padding:.88rem;display:grid}.utility-card{background:0 0;border-color:#0000}.utility-card.priority,.reflection-focus,.bible-result{background:var(--color-surface);border-color:#c9b59bb3}.utility-card.quiet{background:#fffaf294;border-color:#ebe1d39e}.today-stack,.module-grid{opacity:.9}.utility-card h3,.module-tile h3,.bible-result h3{color:var(--color-ink);margin:0}.utility-card strong,.progress-grid strong,.access-preview strong{color:var(--color-ink)}.reflection-prompt,.reflection-focus p{color:var(--color-ink);font-family:var(--font-serif);margin:0;font-size:1.14rem;line-height:1.45}.rhythm-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:.28rem;display:grid}.day-dot{border:1px solid var(--color-line);color:var(--color-muted);background:#fffdf8c7;border-radius:.45rem;justify-content:center;align-items:center;height:1.8rem;font-size:.72rem;font-weight:850;display:inline-flex}.day-dot.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pill,.completion-note{background:var(--color-gold-soft);color:#715315;font-size:var(--text-sm);border-radius:999px;width:fit-content;padding:.42rem .68rem;font-weight:850}.completion-note{color:var(--color-muted);background:0 0;padding-inline:0}.completion-note.complete{background:var(--color-primary-soft);color:var(--color-primary)}.module-tile.as-button{color:inherit;text-align:left}.module-tile{background:#fffdf8c7}.module-tile svg,.module-card svg{color:var(--color-gold)}.pastor-identity{background:linear-gradient(90deg, #fffaf2d1, #fffffffa), var(--color-surface);align-items:center;gap:.9rem;padding:.92rem 1rem;display:flex}.context-note{border-radius:var(--radius-card);padding:var(--space-2);background:#faf4ebc7;border:1px solid #c9b59b94;gap:.45rem;display:grid}.context-note span{color:var(--color-primary);font-size:var(--text-xs);text-transform:uppercase;font-weight:850}.context-note p{margin:0}.conversation-panel{background:var(--color-surface);grid-template-rows:minmax(20rem,1fr) auto;min-height:calc(100svh - 11rem);display:grid;overflow:hidden}.message-list{align-content:start;gap:.72rem;padding:.85rem;display:grid;overflow-y:auto}.message{border-radius:.82rem;max-width:min(92%,38rem);padding:.78rem .88rem;line-height:1.55}.message.user{color:var(--color-ink);background:#f7eadf;margin-left:auto}.message.failed{border:1px solid #9a563275}.message.pastor{background:var(--color-surface-warm);color:var(--color-ink);border:1px solid #c9b59b9e}.message span{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;margin-bottom:.35rem;font-weight:850;display:block}.message p{margin:0}.chat-error{background:var(--color-clay-soft);border-top:1px solid var(--color-line);color:var(--color-primary-strong);font-size:var(--text-sm);padding:.7rem var(--space-2);margin:0;font-weight:750}.beta-limit-note{background:var(--color-surface-warm);border-top:1px solid var(--color-line);color:var(--color-muted);font-size:var(--text-sm);padding:.65rem var(--space-2);margin:0}.clear-history-actions{gap:.6rem;display:grid}.retry-button{margin-top:.5rem}.composer{border-top:1px solid var(--color-line);padding:var(--space-2);background:#fffaf2eb;grid-template-columns:1fr auto;gap:.65rem;display:grid}.icon-button{min-width:3.1rem;padding-inline:1rem}.bible-search{background:var(--color-surface);gap:.72rem;padding:.88rem;display:grid}.bible-starters{gap:.7rem;display:grid}.today-passage{border-radius:var(--radius-card);background:#fbefcf57;border:1px solid #9a6f1f24;gap:.32rem;padding:.82rem;display:grid}.today-passage span,.starter-label,.progress-grid span{color:var(--color-muted);font-size:var(--text-xs);text-transform:uppercase;font-weight:850}.today-passage strong{color:var(--color-ink)}.today-passage p{color:var(--color-muted);margin:0}.topic-row{flex-wrap:wrap;gap:.45rem;margin-top:.45rem;display:flex}.topic-chip{border:1px solid var(--color-line);color:var(--color-ink);background:#fffdf8cc;border-radius:.58rem;min-height:2.25rem;padding:0 .72rem;font-weight:800}.access-preview{box-shadow:none;color:var(--color-muted);font-size:var(--text-sm);background:0 0;border-color:#0000;padding-block:.45rem 0}.sr-only{width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (width>=860px){.private-app{grid-template-rows:auto 1fr;grid-template-columns:5.8rem minmax(0,1fr)}.app-topbar{grid-column:1/-1}.app-nav{border-right:1px solid var(--color-line);padding:var(--space-1);border-top:0;grid-row:2;grid-template-columns:1fr;align-content:start;position:sticky;inset:4.2rem auto auto}.app-content{padding-bottom:var(--space-3);grid-column:2}.nav-item{border-radius:var(--radius-input)}.today-stack,.module-grid,.progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-action-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:end}.primary-action-card .button{grid-column:auto;width:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
