:root{--color-bg: #f8f6f1;--color-surface: #ffffff;--color-surface-alt: #f1ede5;--color-text: #1a1714;--color-text-soft: #4a4540;--color-text-muted: #847d75;--color-accent: #7a5f3e;--color-accent-hover: #664e32;--color-accent-light: #b8996e;--color-accent-bg: #f3ebe0;--color-border: #ddd7cd;--color-border-light: #eae5dc;--color-error: #a8403e;--color-success: #4a7a4e;--color-warm: #c4956a;--color-warm-bg: #fcf4ea;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius: 10px;--radius-sm: 6px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(26, 23, 20, .04), 0 1px 4px rgba(26, 23, 20, .04);--shadow-md: 0 2px 4px rgba(26, 23, 20, .04), 0 4px 16px rgba(26, 23, 20, .06);--shadow-lg: 0 4px 8px rgba(26, 23, 20, .04), 0 8px 32px rgba(26, 23, 20, .08);--ease: cubic-bezier(.4, 0, .2, 1);--duration: .2s}[data-theme=dark]{--color-bg: #141210;--color-surface: #1e1c18;--color-surface-alt: #262320;--color-text: #e8e4dd;--color-text-soft: #b5aea4;--color-text-muted: #847d75;--color-accent: #c4a77d;--color-accent-hover: #d4b98f;--color-accent-light: #9e845e;--color-accent-bg: #2a2520;--color-border: #36322c;--color-border-light: #2e2a25;--color-error: #d4706e;--color-success: #7ab47e;--color-warm: #c4956a;--color-warm-bg: #261f18;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2), 0 1px 4px rgba(0, 0, 0, .15);--shadow-md: 0 2px 4px rgba(0, 0, 0, .2), 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .2), 0 8px 32px rgba(0, 0, 0, .3)}[data-theme=dark] .btn-primary{box-shadow:0 1px 3px #0000004d}[data-theme=dark] .btn-primary:hover{box-shadow:0 2px 8px #0006}[data-theme=dark] .btn-secondary{background:var(--color-surface-alt)}[data-theme=dark] .centering-card,[data-theme=dark] .question-card{border-color:#3a3228}[data-theme=dark] .celebration-hero{border-color:#3a3228;background:linear-gradient(135deg,var(--color-warm-bg) 0%,var(--color-accent-bg) 100%)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus,[data-theme=dark] .form-group select:focus{box-shadow:0 0 0 3px #c4a77d26}[data-theme=dark] .reaction-picker{background:var(--color-surface-alt);border-color:var(--color-border)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-weight:400;font-size:15px;color:var(--color-text);background-color:var(--color-bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-container{max-width:620px;margin:0 auto;padding:0 var(--space-lg) var(--space-2xl);min-height:100vh}.app-header{text-align:center;padding:var(--space-2xl) 0 var(--space-lg);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-xl)}.app-header-top{display:flex;align-items:flex-start;justify-content:space-between}.app-header-top>div:nth-child(2){flex:1}.app-header h1{font-family:var(--font-display);font-size:2.1rem;font-weight:600;color:var(--color-accent);letter-spacing:.01em;line-height:1.2}.app-header .subtitle{font-size:.78rem;color:var(--color-text-muted);margin-top:6px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.theme-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);cursor:pointer;font-size:.9rem;transition:all var(--duration) var(--ease);flex-shrink:0;margin-top:4px}.theme-toggle:hover{border-color:var(--color-accent-light);background:var(--color-surface-alt);transform:scale(1.08)}.theme-toggle:active{transform:scale(.95)}h2{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md);line-height:1.3}h3{font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--color-text);line-height:1.3}.card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--space-lg);animation:fadeUp .35s var(--ease) both}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:11px 22px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.88rem;font-weight:600;cursor:pointer;transition:all var(--duration) var(--ease);text-decoration:none;letter-spacing:.01em}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 1px 3px #7a5f3e40}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:0 2px 8px #7a5f3e4d}.btn-primary:disabled{background:var(--color-text-muted);box-shadow:none;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-surface);color:var(--color-text-soft);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-alt);border-color:var(--color-accent-light);color:var(--color-text)}.btn-small{padding:7px 16px;font-size:.8rem}.btn-full{width:100%}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;font-size:.72rem;font-weight:600;color:var(--color-text-soft);margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-body);font-size:.95rem;font-weight:400;color:var(--color-text);background:var(--color-surface);transition:all var(--duration) var(--ease);line-height:1.5}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);font-weight:400}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent-light);box-shadow:0 0 0 3px #7a5f3e1a}.form-group textarea{resize:vertical;min-height:120px;line-height:1.7}.centering-card{background:var(--color-warm-bg);border:1px solid #e8d5bf;border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);margin-bottom:var(--space-lg);text-align:center;animation:fadeUp .4s var(--ease) both}.centering-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--color-warm);margin-bottom:var(--space-md)}.centering-title{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md);line-height:1.3}.centering-instruction{font-size:.95rem;line-height:1.75;color:var(--color-text-soft);max-width:460px;margin:0 auto var(--space-lg);font-style:italic}.centering-footer{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.centering-duration{font-size:.72rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.question-card{background:var(--color-accent-bg);border:1px solid #dccdb8;border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);animation:fadeUp .35s var(--ease) both}.question-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--color-accent);margin-bottom:var(--space-sm)}.question-text{font-family:var(--font-display);font-size:1.2rem;font-weight:600;line-height:1.5;color:var(--color-text);font-style:italic}.completion-bar{text-align:center}.completion-text{font-size:.78rem;font-weight:500;color:var(--color-text-muted);margin-bottom:6px}.completion-track{height:4px;background:var(--color-surface-alt);border-radius:2px;overflow:hidden}.completion-fill{height:100%;background:var(--color-accent-light);border-radius:2px;transition:width .5s var(--ease);min-width:0}.progress-track{height:6px;background:var(--color-surface-alt);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:var(--color-accent);border-radius:3px;transition:width .4s var(--ease)}.stats-grid{display:flex;flex-direction:column;gap:var(--space-md)}.stat-member{padding:14px 0;border-bottom:1px solid var(--color-border-light)}.stat-member:last-child{border-bottom:none;padding-bottom:0}.stat-member-name{font-weight:600;font-size:.95rem;color:var(--color-text);display:flex;align-items:center;gap:8px}.stat-check{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-success);color:#fff;font-size:.65rem;font-weight:700}.stat-details{display:flex;justify-content:space-between;margin-top:4px}.stat-streak{font-size:.82rem;color:var(--color-accent);font-weight:600}.stat-total{font-size:.82rem;color:var(--color-text-muted);font-weight:500}.journal-entry{margin-bottom:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-light);animation:fadeUp .3s var(--ease) both}.journal-entry:last-child{border-bottom:none}.journal-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-md)}.journal-chapter{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--color-accent)}.journal-date{font-size:.8rem;font-weight:500;color:var(--color-text-muted)}.journal-reflections{display:flex;flex-direction:column;gap:10px}.journal-reflection{font-size:.92rem;line-height:1.65;color:var(--color-text);padding:14px 18px;background:var(--color-surface-alt);border-radius:var(--radius)}.journal-author{font-weight:700;color:var(--color-accent);font-size:.84rem}.journal-content{white-space:pre-wrap}.journal-empty{font-size:.85rem;color:var(--color-text-muted);font-style:italic}.scripture-content{font-family:var(--font-display);font-size:1.2rem;line-height:2;color:var(--color-text);padding:var(--space-lg) 0}.scripture-content .v{font-size:.65em;vertical-align:super;color:var(--color-accent-light);margin-right:2px;font-weight:600;font-family:var(--font-body)}.scripture-copyright{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-align:center;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border-light)}.reflection-card{padding:var(--space-md) var(--space-lg);background:var(--color-surface-alt);border-radius:var(--radius);margin-bottom:12px;animation:fadeUp .3s var(--ease) both}.reflection-card .author{font-weight:700;font-size:.84rem;color:var(--color-accent);margin-bottom:6px}.reflection-card .timestamp{font-size:.74rem;color:var(--color-text-muted);margin-left:8px;font-weight:500}.reflection-card .body{font-size:.95rem;line-height:1.65;color:var(--color-text);white-space:pre-wrap}.reaction-bar{margin-top:12px;position:relative}.reaction-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.reaction-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-surface);cursor:pointer;transition:all var(--duration) var(--ease);font-size:.82rem}.reaction-pill:hover,.reaction-pill-active{border-color:var(--color-accent-light);background:var(--color-accent-bg)}.reaction-pill-emoji{font-size:.95rem;line-height:1}.reaction-pill-count{font-size:.75rem;font-weight:600;color:var(--color-text-soft);min-width:10px;text-align:center}.reaction-add{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1.5px dashed var(--color-border);background:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;transition:all var(--duration) var(--ease);font-weight:500}.reaction-add:hover{border-color:var(--color-accent-light);color:var(--color-accent);background:var(--color-accent-bg)}.reaction-picker{position:absolute;left:0;bottom:100%;margin-bottom:8px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow-lg);z-index:10;animation:fadeUp .15s var(--ease) both}.reaction-picker-grid{display:flex;flex-wrap:wrap;gap:4px}.reaction-picker-emoji{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-sm);border:none;background:none;font-size:1.3rem;cursor:pointer;transition:all var(--duration) var(--ease)}.reaction-picker-emoji:hover{background:var(--color-surface-alt);transform:scale(1.15)}.reaction-picker-emoji-active{background:var(--color-accent-bg)}.reaction-picker-more{display:block;width:100%;margin-top:6px;padding:4px;border:none;background:none;color:var(--color-accent);font-size:.75rem;font-weight:600;cursor:pointer;text-align:center;letter-spacing:.03em}.reaction-picker-more:hover{text-decoration:underline}.invite-code{display:inline-block;background:var(--color-accent-bg);color:var(--color-accent);font-family:monospace;font-size:.88rem;font-weight:500;padding:8px 16px;border-radius:var(--radius-sm);cursor:pointer;-webkit-user-select:all;user-select:all;transition:all var(--duration) var(--ease);border:1px solid transparent}.invite-code:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-sm)}.chapter-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.chapter-nav .chapter-label{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--color-accent)}.group-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;transition:all var(--duration) var(--ease)}.group-item:hover{border-color:var(--color-accent-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.group-item:active{transform:translateY(0)}.group-item .group-name{font-weight:600;font-size:.95rem;color:var(--color-text)}.group-item .group-book{font-size:.85rem;font-weight:500;color:var(--color-text-soft);margin-top:2px}.error-msg{color:var(--color-error);font-size:.85rem;font-weight:500;margin-top:var(--space-sm)}.success-msg{color:var(--color-success);font-size:.85rem;font-weight:500;margin-top:var(--space-sm)}.loading{text-align:center;color:var(--color-text-muted);padding:var(--space-2xl) 0;font-size:.9rem;font-weight:500}.divider{border:none;border-top:1px solid var(--color-border-light);margin:var(--space-lg) 0}.tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border-light);margin-bottom:var(--space-lg);overflow-x:auto}.tab{padding:12px 18px;font-size:.84rem;font-weight:600;color:var(--color-text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all var(--duration) var(--ease);white-space:nowrap;letter-spacing:.01em}.tab:hover{color:var(--color-text-soft)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.celebration-hero{text-align:center;padding:var(--space-xl) var(--space-lg);margin-bottom:var(--space-lg);background:linear-gradient(135deg,var(--color-warm-bg) 0%,var(--color-accent-bg) 100%);border:1px solid #e8d5bf;border-radius:var(--radius-lg);animation:fadeUp .5s var(--ease) both}.celebration-emoji{font-size:3rem;margin-bottom:var(--space-md);animation:fadeUp .5s var(--ease) .1s both}.celebration-title{font-family:var(--font-display);font-size:1.7rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm);line-height:1.3}.celebration-subtitle{font-size:.88rem;color:var(--color-text-soft);font-weight:500}.celebration-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);text-align:center}.celebration-stat-value{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--color-accent);line-height:1.2}.celebration-stat-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.celebration-highlight{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid var(--color-border-light)}.celebration-highlight:last-child{border-bottom:none;padding-bottom:0}.celebration-highlight-icon{font-size:1.4rem;flex-shrink:0;margin-top:2px}.celebration-highlight-title{font-weight:700;font-size:.88rem;color:var(--color-text);margin-bottom:2px}.celebration-highlight-detail{font-size:.85rem;color:var(--color-text-soft);font-weight:500}@keyframes onboardingFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.onboarding{display:flex;align-items:center;justify-content:center;min-height:60vh}.onboarding-card{max-width:400px;width:100%;text-align:center}.onboarding-dots{display:flex;justify-content:center;gap:8px;margin-bottom:var(--space-xl)}.onboarding-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--color-border);cursor:pointer;padding:0;transition:all var(--duration) var(--ease)}.onboarding-dot-active{background:var(--color-accent);width:24px;border-radius:4px}.onboarding-content{animation:onboardingFade .4s var(--ease) both;margin-bottom:var(--space-xl)}.onboarding-emoji{font-size:3rem;margin-bottom:var(--space-lg)}.onboarding-title{font-family:var(--font-display);font-size:1.6rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-md);line-height:1.3}.onboarding-body{font-size:.95rem;line-height:1.7;color:var(--color-text-soft);max-width:340px;margin:0 auto}.onboarding-actions{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.onboarding-skip{background:none;border:none;color:var(--color-text-muted);font-size:.85rem;font-weight:500;cursor:pointer;padding:4px 8px;transition:color var(--duration) var(--ease)}.onboarding-skip:hover{color:var(--color-text-soft)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-small{font-size:.85rem}.mt-4{margin-top:var(--space-xs)}.mt-8{margin-top:var(--space-sm)}.mt-16{margin-top:var(--space-md)}.mt-24{margin-top:var(--space-lg)}.mb-16{margin-bottom:var(--space-md)}.mb-24{margin-bottom:var(--space-lg)}.flex-between{display:flex;align-items:center;justify-content:space-between}@media (max-width: 480px){.app-container{padding:0 var(--space-md) var(--space-xl)}.app-header{padding:var(--space-xl) 0 var(--space-lg)}.app-header h1{font-size:1.8rem}.card{padding:20px}.centering-card{padding:var(--space-lg) var(--space-md)}.centering-title{font-size:1.3rem}.tab{padding:12px 14px;font-size:.8rem}.scripture-content{font-size:1.1rem;line-height:1.9}.celebration-hero{padding:var(--space-lg) var(--space-md)}.celebration-title{font-size:1.4rem}.celebration-stats{gap:var(--space-md)}.celebration-stat-value{font-size:1.6rem}.reaction-picker{left:0;right:auto}.onboarding-title{font-size:1.4rem}.onboarding-body{font-size:.9rem}.onboarding-emoji{font-size:2.5rem}}
