@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--surface: #ffffff;--surface-2: #f5f5f5;--primary: #36454f;--primary-light: #4e6470;--accent: #cba92b;--accent-light: #dcc155;--text: #1a1a1a;--text-muted: #6b7280;--border: #e0e0e0;--success: #22c55e;--danger: #ef4444;--nav-height: 64px;--header-height: 56px}html,body,#root{height:100%;font-family:Inter,sans-serif;background:var(--surface-2);color:var(--text);-webkit-font-smoothing:antialiased}.app-shell{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;background:var(--surface-2);position:relative;overflow:hidden}.app-content{flex:1;overflow-y:auto;scroll-behavior:smooth;background:var(--surface-2)}.app-header{height:var(--header-height);background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;flex-shrink:0}.app-header__brand{display:flex;align-items:center;gap:8px}.app-header__logo-img{height:32px;width:auto;object-fit:contain}.app-header__back-row{display:flex;align-items:center;gap:10px}.app-header__back-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:none;background:var(--surface-2);color:var(--primary);cursor:pointer;flex-shrink:0;transition:background .15s}.app-header__back-btn:hover{background:var(--border)}.app-header__page-title{font-size:1rem;font-weight:700;color:var(--primary)}.app-header__avatar{width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--primary);font-size:.85rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bottom-nav{width:100%;height:var(--nav-height);display:flex;align-items:center;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--text-muted);font-size:.65rem;font-weight:500;padding:8px 0;transition:color .15s}.nav-item--active{color:var(--accent)}.nav-item--active svg{stroke:var(--accent)}.page{min-height:100%;padding:16px}.page-header{padding:16px 16px 8px;font-size:1.25rem;font-weight:700;color:var(--primary)}.card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:16px;margin-bottom:12px;box-shadow:0 1px 3px #0000000f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:10px;font-size:.95rem;font-weight:700;border:none;cursor:pointer;transition:opacity .2s,transform .1s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary);color:#fff}.btn--accent{background:var(--accent);color:var(--primary)}.btn--outline{background:transparent;color:var(--primary);border:1.5px solid var(--primary)}.btn--danger{background:var(--danger);color:#fff}.btn--full{width:100%}.input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:.95rem;background:var(--surface-2);color:var(--text);outline:none;transition:border-color .2s,background .2s}.input:focus{border-color:var(--primary);background:var(--surface)}.auth-screen{min-height:100dvh;max-width:480px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-2);padding:32px 20px;gap:28px}.auth-brand{display:flex;flex-direction:column;align-items:center;gap:8px}.auth-logo-img{height:72px;width:auto;object-fit:contain}.auth-tagline{color:var(--text-muted);font-size:.875rem}.auth-form-card{background:var(--surface);border-radius:20px;padding:28px 24px 32px;box-shadow:0 4px 24px #00000014;width:100%}.auth-card-title{font-size:1.25rem;font-weight:700;color:var(--primary);margin-bottom:2px}.auth-card-sub{color:var(--text-muted);font-size:.875rem;margin-bottom:22px}.auth-form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.label{font-size:.82rem;font-weight:600;color:var(--primary)}.input-wrapper{position:relative;display:flex;align-items:center}.input--icon{padding-right:44px}.input-icon-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;line-height:0}.auth-switch{text-align:center;color:var(--text-muted);font-size:.875rem}.auth-link{color:var(--accent);font-weight:700;text-decoration:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:var(--text-muted);font-size:.78rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-install-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;background:var(--surface-2);border:1.5px solid var(--border);border-radius:12px;color:var(--primary);font-size:.92rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}.auth-install-btn:hover{background:#36454f0f;border-color:var(--primary)}.home-banner{background:var(--surface-2);border-bottom:1px solid var(--border);padding:20px 20px 28px}.home-date{color:var(--text-muted);font-size:.78rem;margin-bottom:4px}.home-welcome{color:var(--primary);font-size:1.45rem;font-weight:700;margin-bottom:2px}.home-tagline{color:var(--text-muted);font-size:.85rem}.home-body{padding:20px 16px 24px}.section-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:12px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.quick-tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;padding:14px 8px;background:var(--surface);border-radius:14px;border:1px solid var(--border);transition:transform .15s,box-shadow .15s}.quick-tile:active{transform:scale(.94)}.quick-tile__icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center}.quick-tile__label{color:var(--text);font-size:.73rem;font-weight:600}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 16px;color:var(--text-muted);font-size:.875rem}.home-verse-card{display:block;text-decoration:none;background:var(--primary);border-radius:14px;padding:16px;margin-bottom:24px}.home-verse-text{font-size:.875rem;color:#fff;font-style:italic;line-height:1.6;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.home-verse-ref{font-size:.75rem;font-weight:700;color:var(--accent)}.home-section-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.home-see-all{font-size:.78rem;font-weight:600;color:var(--accent);text-decoration:none}.home-event-card{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:12px 14px;margin-bottom:10px;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d}.home-event-card__accent{position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px}.home-event-card__date{display:flex;flex-direction:column;align-items:center;min-width:38px}.home-event-card__month{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.4px}.home-event-card__day{font-size:1.4rem;font-weight:800;color:var(--primary);line-height:1}.home-event-card__info{flex:1;min-width:0}.home-event-card__title{font-size:.9rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-event-card__meta{font-size:.75rem;color:var(--text-muted);margin:2px 0 5px}.home-event-card__type{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:20px}.page-topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.page-back-btn{display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:none;border-radius:10px;width:36px;height:36px;cursor:pointer;color:var(--primary);flex-shrink:0;transition:background .15s}.page-back-btn:hover{background:var(--border)}.page-topbar__title{font-size:1rem;font-weight:700;color:var(--primary)}.cal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 10px;background:var(--surface);border-bottom:1px solid var(--border)}.cal-month-label{font-size:1rem;font-weight:700;color:var(--primary)}.cal-nav-btn{background:none;border:none;cursor:pointer;color:var(--primary);display:flex;align-items:center;padding:6px;border-radius:8px;transition:background .15s}.cal-nav-btn:hover{background:var(--surface-2)}.cal-tabs{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border);padding:0 16px;gap:4px}.cal-tab{flex:1;padding:10px 0;background:none;border:none;border-bottom:2px solid transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.cal-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.cal-day-names{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 8px 0;background:var(--surface)}.cal-day-name{text-align:center;font-size:.7rem;font-weight:600;color:var(--text-muted);padding:6px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:4px 8px 8px;background:var(--surface);border-bottom:1px solid var(--border)}.cal-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;aspect-ratio:1;border:none;background:none;border-radius:50%;font-size:.82rem;font-weight:500;color:var(--text);cursor:pointer;transition:background .15s}.cal-day--today{font-weight:800;color:var(--primary)}.cal-day--selected{background:var(--primary);color:#fff}.cal-day--selected .cal-dot{background:var(--accent)}.cal-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.cal-events{padding:16px}.cal-events-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cal-event-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:14px;margin-bottom:10px}.cal-event-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.cal-event-title{font-size:.95rem;font-weight:700;color:var(--primary);margin-bottom:3px}.cal-event-desc{font-size:.82rem;color:var(--text-muted);margin-bottom:4px}.cal-event-meta{font-size:.78rem;color:var(--text-muted);margin-top:3px}.bible-page{display:flex;flex-direction:column;min-height:100%}.bible-date{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;text-align:center}.bible-card{background:var(--primary);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;gap:16px}.bible-card__label{display:flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.bible-text{font-size:1.15rem;font-weight:500;color:#fff;line-height:1.7;font-style:italic}.bible-ref-row{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);padding-top:12px}.bible-ref{font-size:.9rem;font-weight:700;color:var(--accent)}.bible-version{font-size:.72rem;font-weight:700;background:#ffffff1a;color:#ffffffb3;padding:3px 8px;border-radius:4px;letter-spacing:.04em}.bible-reflect{background:var(--surface);border-radius:14px;border:1px solid var(--border);padding:18px}.bible-reflect__title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:6px}.bible-reflect__prompt{font-size:.875rem;color:var(--text-muted);line-height:1.6}.bible-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.75rem;color:var(--text-muted)}.bible-tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.bible-tab{flex:1;min-width:max-content;padding:13px 16px;background:none;border:none;border-bottom:2.5px solid transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.bible-tab--active{color:var(--primary);border-bottom-color:var(--primary)}.bible-tab-body{padding:20px 16px 28px;display:flex;flex-direction:column;gap:18px}.bible-reader-controls{display:flex;flex-direction:column;gap:10px}.bible-select-wrap{display:flex;flex-direction:column;gap:4px}.bible-select-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted)}.bible-select-box{position:relative}.bible-select{width:100%;padding:11px 36px 11px 13px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.9rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;cursor:pointer;transition:border-color .15s}.bible-select:focus{border-color:var(--primary)}.bible-select:disabled{opacity:.5;cursor:not-allowed}.bible-select-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.bible-reader-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 0;color:var(--text-muted);font-size:.88rem;text-align:center}.bible-chapter{display:flex;flex-direction:column;gap:12px}.bible-chapter__ref{font-size:1rem;font-weight:700;color:var(--primary)}.bible-chapter__content{font-size:.95rem;line-height:1.85;color:var(--text)}.bible-chapter__content .v{font-size:.68rem;font-weight:700;color:var(--accent);vertical-align:super;margin-right:3px;line-height:1}.bible-chapter__content p{margin-bottom:8px}.bible-chapter__html{font-size:.96rem;line-height:2;color:var(--text)}.bible-chapter__html p{margin-bottom:8px}.bible-chapter__html [data-verse]{cursor:pointer;border-radius:4px;padding:1px 3px;transition:background .15s;display:inline;position:relative}.bible-chapter__html [data-verse]:hover{background:#cba92b26}.bible-chapter__html [data-verse]:active{background:#cba92b52}.bible-chapter__html [data-selected=true]{box-shadow:inset 0 0 0 2px var(--primary);border-radius:4px;background:#36454f14}.bible-chapter__html .yv-vlbl{font-size:.65rem;font-weight:900;color:var(--accent);vertical-align:super;margin-right:2px;line-height:1;letter-spacing:.2px;-webkit-user-select:none;user-select:none}.bible-chapter__html [data-hl-color]{border-radius:4px;padding:1px 3px}.bible-chapter__html [data-hl-color=yellow]{background:#ffe06699}.bible-chapter__html [data-hl-color=orange]{background:#ffb3478c}.bible-chapter__html [data-hl-color=pink]{background:#ff96be8c}.bible-chapter__html [data-hl-color=red]{background:#ff646480}.bible-chapter__html [data-hl-color=green]{background:#64dc6473}.bible-chapter__html [data-hl-color=blue]{background:#64bef08c}.bible-chapter__html [data-hl-color=purple]{background:#c88ce680}.bible-chapter__html .label{font-size:.68rem;font-weight:900;color:var(--accent);vertical-align:super;margin-right:3px;line-height:1;letter-spacing:.3px}.bible-chapter__html .v:not([class*=verse]),.bible-chapter__html [class*=verse-num]{font-size:.68rem;font-weight:900;color:var(--accent);vertical-align:super;margin-right:3px;line-height:1}.bible-chapter__html h1,.bible-chapter__html h2,.bible-chapter__html h3{font-size:.85rem;font-weight:700;color:var(--primary);margin:14px 0 4px}.bible-chapter__html .s,.bible-chapter__html [class*=section]{font-size:.82rem;font-weight:700;color:var(--primary);display:block;margin:12px 0 2px}.bible-chapter__html .wj{color:#b91c1c}.bible-chapter__html .nd{font-variant:small-caps}.bible-chapter__hint{font-size:.72rem;color:var(--text-muted);text-align:center;padding:2px 0 10px;opacity:.7}.bible-api-notice{display:flex;align-items:flex-start;gap:7px;background:#fff8e1;border:1px solid #ffe082;border-radius:10px;padding:10px 14px;font-size:.82rem;color:#7c5c00;margin-bottom:8px;line-height:1.5}.bible-api-notice--error{background:#fff1f1;border-color:#fecaca;color:#b91c1c}.bible-chapter__copyright{font-size:.7rem;color:var(--text-muted);border-top:1px solid var(--border);padding-top:10px}.bible-chapter-skeleton{display:flex;flex-direction:column;gap:10px}.bible-skeleton--line{height:14px;border-radius:6px}.bible-skeleton--result{height:72px;border-radius:12px}.bible-search-controls{display:flex;flex-direction:column;gap:10px}.bible-search-form{display:flex;gap:8px}.bible-search-input{flex:1;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-size:.9rem;outline:none}.bible-search-input:focus{border-color:var(--primary)}.bible-search-btn{padding:11px 14px;background:var(--primary);color:#fff;border:none;border-radius:10px;cursor:pointer;display:flex;align-items:center}.bible-search-btn:disabled{opacity:.5;cursor:not-allowed}.bible-search-results{display:flex;flex-direction:column;gap:10px}.bible-search-count{font-size:.78rem;color:var(--text-muted)}.bible-result-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px}.bible-result-ref{font-size:.8rem;font-weight:700;color:var(--accent);margin-bottom:5px}.bible-result-text{font-size:.9rem;color:var(--text);line-height:1.6}.bible-api-error{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px;text-align:center;font-size:.88rem;color:var(--text-muted)}.bible-skeleton{border-radius:12px;background:linear-gradient(90deg,#e0e0e0 25%,#f5f5f5,#e0e0e0 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.bible-skeleton--date{height:16px;width:160px;margin:0 auto;border-radius:6px}.bible-skeleton--card{height:220px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.verse-color-picker{position:fixed;bottom:calc(var(--nav-height) + 56px);left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:10px 16px 12px;z-index:110;box-shadow:0 -4px 20px #0000001f;display:flex;flex-direction:column;gap:10px;animation:slideUp .18s ease-out}.verse-color-picker__ref{font-size:.78rem;font-weight:700;color:var(--primary)}.verse-color-picker__row{display:flex;align-items:center;gap:10px}.verse-color-picker__swatches{display:flex;gap:8px;flex:1}.hl-swatch{width:30px;height:30px;border-radius:50%;border:2.5px solid rgba(0,0,0,.1);cursor:pointer;background:var(--swatch);transition:transform .12s,border-color .12s;flex-shrink:0}.hl-swatch--active{border-color:var(--primary);transform:scale(1.2);box-shadow:0 0 0 2px #36454f40}.verse-color-picker__remove{font-size:.75rem;font-weight:600;color:#ef4444;background:none;border:1px solid #fecaca;border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap}.verse-color-picker__close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px}.bible-hl-list{display:flex;flex-direction:column;gap:0}.bible-hl-count{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:12px}.bible-hl-group{margin-bottom:20px}.bible-hl-group__header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.bible-hl-group__dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.bible-hl-group__label{font-size:.78rem;font-weight:700;color:var(--primary);flex:1;text-transform:uppercase;letter-spacing:.5px}.bible-hl-group__count{font-size:.72rem;font-weight:700;background:var(--surface-2);color:var(--text-muted);padding:1px 8px;border-radius:999px}.bible-hl-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.bible-hl-card__top{display:flex;align-items:center;gap:8px}.bible-hl-card__ref{font-size:.82rem;font-weight:700;color:var(--primary);flex:1}.bible-hl-card__abbr{font-size:.7rem;font-weight:700;background:var(--surface-2);color:var(--text-muted);padding:2px 7px;border-radius:999px}.bible-hl-card__del{background:none;border:none;cursor:pointer;color:#ef4444;display:flex;align-items:center;padding:4px;border-radius:6px;opacity:.7;transition:opacity .15s}.bible-hl-card__del:active{opacity:1}.bible-hl-card__text{font-size:.9rem;color:var(--text);line-height:1.7;font-style:italic}.bible-hl-card{cursor:pointer;transition:box-shadow .15s,opacity .15s,background .15s}.bible-hl-card--selected{background:#cba92b14;box-shadow:0 0 0 2px var(--accent)}.bible-hl-card--disabled{opacity:.4;pointer-events:none}.bible-hl-card__check{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.bible-hl-card__check--on{background:var(--accent);border-color:var(--accent)}.bible-hl-count__hint{text-transform:none;letter-spacing:0;font-weight:600;color:var(--text-muted)}.bible-hl-action-bar{position:fixed;bottom:calc(var(--nav-height) + 12px);left:12px;right:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 12px;z-index:110;box-shadow:0 4px 20px #00000029;display:flex;align-items:center;gap:12px;animation:slideUp .18s ease-out}.bible-hl-action-bar__info{display:flex;flex-direction:column;flex:1}.bible-hl-action-bar__count{font-size:.85rem;font-weight:700;color:var(--primary)}.bible-hl-action-bar__ref{font-size:.74rem;color:var(--text-muted)}.verse-color-picker__devotion{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--primary);border:none;border-radius:10px;padding:10px 14px;font-size:.88rem;font-weight:700;cursor:pointer}.bible-hl-hint{font-size:.8rem;color:var(--text-muted);text-align:center}.bible-reader-pills{display:flex;gap:8px;padding:0 0 4px}.bible-pill{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--surface);border:1.5px solid var(--border);border-radius:999px;font-size:.85rem;font-weight:600;color:var(--primary);cursor:pointer;transition:border-color .15s,background .15s;flex:1;min-width:0}.bible-pill:active{background:#f0f0f0}.bible-pill--trans{flex:0 0 auto;min-width:64px;justify-content:center}.bible-pill__ch{font-size:.72rem;font-weight:700;background:var(--accent);color:var(--primary);border-radius:999px;padding:1px 7px;white-space:nowrap}.bible-pill:disabled{opacity:.45;cursor:not-allowed}.bible-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000006b;z-index:200;display:flex;align-items:flex-end}.bible-sheet{width:100%;max-height:80vh;background:var(--surface);border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .22s ease-out}.bible-sheet--sm{max-height:70vh}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.bible-sheet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.bible-sheet-title{font-size:1rem;font-weight:700;color:var(--primary)}.bible-sheet-close{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px}.bible-sheet-body{overflow-y:auto;padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 16px);-webkit-overflow-scrolling:touch}.bible-book-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:8px 0}.bible-book-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}.bible-book-btn{padding:9px 10px;background:var(--surface-2);border:1.5px solid transparent;border-radius:10px;font-size:.82rem;font-weight:500;color:var(--text);cursor:pointer;text-align:left;transition:border-color .1s,background .1s;line-height:1.3}.bible-book-btn:active{background:#e8e8e8}.bible-book-btn--active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.bible-trans-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:1px solid transparent;border-radius:10px;cursor:pointer;margin-bottom:4px;transition:background .1s}.bible-trans-btn:active{background:var(--surface-2)}.bible-trans-btn--active{background:var(--surface-2);border-color:var(--border)}.bible-trans-abbr{font-size:.85rem;font-weight:700;color:var(--primary);min-width:42px}.bible-trans-name{flex:1;font-size:.85rem;color:var(--text);text-align:left}.bible-trans-check{font-size:.85rem;font-weight:700;color:var(--accent)}.bible-chapter-nav{position:fixed;bottom:var(--nav-height);left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--border);z-index:100;box-shadow:0 -2px 12px #0000000f}.bible-chapter-nav__btn{display:flex;align-items:center;gap:4px;padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:opacity .15s}.bible-chapter-nav__btn:disabled{opacity:.35;cursor:not-allowed}.bible-chapter-nav__label{flex:1;text-align:center;font-size:.82rem;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none;border:none;cursor:pointer;padding:6px 4px;border-radius:8px;transition:background .15s}.bible-chapter-nav__label:active{background:var(--surface-2)}.bible-chapter-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.bible-chapter-num-btn{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1.5px solid transparent;border-radius:10px;font-size:.88rem;font-weight:600;color:var(--text);cursor:pointer;transition:background .1s,border-color .1s}.bible-chapter-num-btn:active{background:#e0e0e0}.bible-chapter-num-btn--active{background:var(--primary);color:#fff;border-color:var(--primary)}.bible-tab-body--read{padding-bottom:calc(var(--nav-height) + 56px)}.bible-chapter--scrollable{padding-bottom:8px}.cg-banner{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.cg-banner__icon{width:44px;height:44px;border-radius:12px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cg-banner__name{font-size:1rem;font-weight:700;color:var(--primary)}.cg-banner__desc{font-size:.8rem;color:var(--text-muted);margin-top:2px}.cg-tabs{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border);padding:0 16px;gap:4px}.cg-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 0;background:none;border:none;border-bottom:2px solid transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.cg-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.cg-body{padding:16px}.devotional-card{background:var(--surface);border-radius:14px;border:1px solid var(--border);padding:14px;margin-bottom:12px}.devotional-card__header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.devotional-card__avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-2);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:var(--primary);flex-shrink:0}.devotional-card__avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.devotional-card__author{font-size:.82rem;font-weight:700;color:var(--primary);display:flex;align-items:center;flex-wrap:wrap;gap:6px}.devotional-card__date{font-size:.72rem;color:var(--text-muted)}.rank-badge{font-size:.66rem;font-weight:700;background:var(--accent);color:var(--primary);padding:2px 7px;border-radius:999px;letter-spacing:.2px;white-space:nowrap}.rank-badge--new{background:var(--surface-2);color:var(--text-muted)}.fire{display:inline-flex;align-items:center;color:var(--text-muted);line-height:1}.fire--inline{font-size:.7rem;font-weight:700;gap:2px}.fire--lvl1{color:#d9a441;animation:flame-flicker 2.4s ease-in-out infinite}.fire--lvl2{color:#e8962e;animation:flame-flicker 2.1s ease-in-out infinite;filter:drop-shadow(0 0 2px #e8962e66)}.fire--lvl3{color:#f07d22;animation:flame-flicker 1.8s ease-in-out infinite;filter:drop-shadow(0 0 4px #f07d2277)}.fire--lvl4{color:#ef5f1a;animation:flame-flicker 1.5s ease-in-out infinite;filter:drop-shadow(0 0 6px #ef5f1a88)}.fire--lvl5{color:#e63912;animation:flame-flicker 1.2s ease-in-out infinite;filter:drop-shadow(0 0 9px #e6391299)}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-1deg);opacity:1}50%{transform:scale(1.12) rotate(1deg);opacity:.88}}.cg-stats-strip{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px 14px;margin-bottom:14px}.cg-stats-strip .fire{font-size:1.4rem}.cg-stats-strip__info{flex:1}.cg-stats-strip__streak{font-size:.92rem;font-weight:700;color:var(--primary)}.cg-stats-strip__sub{font-size:.74rem;color:var(--text-muted)}.devotional-reactions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.devotional-seen{display:flex;align-items:center;gap:8px;margin-top:10px}.devotional-seen__avatars{display:flex}.devotional-seen__avatar{width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid var(--surface);margin-left:-7px}.devotional-seen__avatar:first-child{margin-left:0}.devotional-seen__avatar-img{width:100%;height:100%;object-fit:cover}.devotional-seen__label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-muted)}.reaction-btn{display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:.74rem;font-weight:700;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.reaction-btn:hover{background:var(--border)}.reaction-btn:disabled{opacity:.6;cursor:default}.reaction-btn--active{background:var(--accent);border-color:var(--accent);color:var(--primary)}.reaction-btn--like{color:#3b82f6}.reaction-btn--heart{color:#ef4444}.reaction-btn--like.reaction-btn--active{background:#3b82f6;border-color:#3b82f6;color:#fff}.reaction-btn--heart.reaction-btn--active{background:#ef4444;border-color:#ef4444;color:#fff}.reaction-btn__emoji{font-size:1rem;line-height:1}.reaction-btn__count{line-height:1}.devotional-card__delete{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center;border-radius:6px;transition:color .15s}.devotional-card__delete:hover{color:var(--danger)}.devotional-card__content{font-size:.9rem;color:var(--text);line-height:1.6}.devotional-card__section{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.devotional-card__section:first-of-type{border-top:none;padding-top:0;margin-top:8px}.devotional-card__section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);margin-bottom:4px}.devotional-card__section-text{font-size:.9rem;color:var(--text);line-height:1.6;white-space:pre-wrap}.devotional-card__section-text--verse{font-style:italic;color:var(--primary);font-weight:500}.devotional-form{display:flex;flex-direction:column;gap:12px}.devotional-form__field{display:flex;flex-direction:column;gap:5px}.devotional-form__label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.devotional-card__img{width:100%;border-radius:10px;margin-top:10px;object-fit:cover;max-height:200px}.schedule-card{display:flex;gap:14px;background:var(--surface);border-radius:14px;border:1px solid var(--border);padding:14px;margin-bottom:10px}.schedule-card__date-col{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:44px;background:var(--surface-2);border-radius:10px;padding:8px 6px}.schedule-card__month{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--accent);letter-spacing:.05em}.schedule-card__day{font-size:1.3rem;font-weight:800;color:var(--primary);line-height:1}.schedule-card__info{flex:1}.schedule-card__title{font-size:.9rem;font-weight:700;color:var(--primary);margin-bottom:3px}.schedule-card__desc{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}.schedule-card__time{font-size:.75rem;color:var(--text-muted)}.admin-tabs{display:flex;background:var(--surface-2);border-bottom:1px solid var(--border);padding:0 16px;gap:4px}.admin-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 0;background:none;border:none;border-bottom:2px solid transparent;font-size:.82rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.admin-tab--active{color:var(--accent);border-bottom-color:var(--accent)}.admin-body{padding:16px}.admin-event-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--surface);border-radius:14px;border:1px solid var(--border);padding:14px;margin-bottom:10px}.admin-event-row__info{flex:1;min-width:0}.admin-event-row__title{font-size:.92rem;font-weight:700;color:var(--primary);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-event-row__date{font-size:.78rem;color:var(--text-muted);margin-bottom:2px}.admin-event-row__location{font-size:.75rem;color:var(--text-muted)}.admin-event-row__actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.admin-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;cursor:pointer;transition:background .15s,color .15s;background:var(--surface-2);color:var(--primary)}.admin-icon-btn:hover{background:var(--border)}.admin-icon-btn--danger{background:#fef2f2;color:var(--danger)}.admin-icon-btn--danger:hover{background:var(--danger);color:#fff}.admin-icon-btn--muted{color:var(--text-muted)}.admin-notify-info{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:20px;font-size:.875rem;color:var(--text-muted)}.admin-notify-note{margin-top:16px;font-size:.78rem;color:var(--text-muted);line-height:1.5;text-align:center;padding:0 8px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal-sheet{background:var(--surface);border-radius:24px 24px 0 0;padding:12px 20px 32px;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;animation:slide-up .22s ease}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 16px}.modal-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title{font-size:1rem;font-weight:700;color:var(--primary)}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;padding:4px}.profile-page{padding:0 0 32px}.profile-loading{padding:40px 16px;text-align:center;color:var(--text-muted)}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;padding:28px 16px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.profile-avatar-wrap{position:relative;width:88px;height:88px;margin-bottom:10px}.profile-avatar-initials{width:88px;height:88px;border-radius:50%;background:var(--accent);color:var(--primary);font-size:2rem;font-weight:800;display:flex;align-items:center;justify-content:center}.profile-avatar-img{width:88px;height:88px;border-radius:50%;object-fit:cover}.profile-avatar-edit-btn{position:absolute;bottom:2px;right:2px;width:26px;height:26px;border-radius:50%;background:var(--primary);border:2px solid var(--surface);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .2s}.profile-avatar-edit-btn:disabled{opacity:.5;cursor:not-allowed}.profile-avatar-hint{font-size:.75rem;color:var(--text-muted)}.profile-name-text{font-size:1.1rem;font-weight:700;color:var(--text);margin-top:4px;margin-bottom:6px}.app-header__bell{background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;padding:4px;border-radius:8px;transition:color .15s,background .15s}.app-header__bell:hover{color:var(--primary);background:var(--surface-2)}.notif{position:relative;display:flex}.notif__badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--accent);color:var(--primary);font-size:10px;font-weight:700;line-height:16px;text-align:center}.notif__panel{position:absolute;top:calc(100% + 8px);right:0;width:min(320px,calc(100vw - 32px));max-height:70vh;overflow-y:auto;background:var(--surface);border:1px solid var(--surface-2);border-radius:12px;box-shadow:0 8px 28px #0000002e;z-index:200}.notif__panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-weight:700;color:var(--primary);border-bottom:1px solid var(--surface-2);position:sticky;top:0;background:var(--surface)}.notif__mark-all{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:var(--accent);font-size:12px;font-weight:600}.notif__empty{padding:28px 14px;text-align:center;color:var(--text-muted);font-size:14px}.notif__list{list-style:none;margin:0;padding:0}.notif__item{display:flex;align-items:flex-start;gap:8px;padding:12px 14px;cursor:pointer;border-bottom:1px solid var(--surface-2);transition:background .15s}.notif__item:hover{background:var(--surface-2)}.notif__item--unread{background:#cba92b14}.notif__dot{flex-shrink:0;width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent)}.notif__item-body{flex:1;min-width:0}.notif__item-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.notif__item-text{margin:2px 0 0;font-size:13px;color:var(--text-muted)}.notif__item-time{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.app-header__avatar{display:flex;align-items:center;justify-content:center;text-decoration:none;overflow:hidden}.app-header__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-section{margin:12px 16px 0;background:var(--surface);border-radius:14px;border:1px solid var(--border);overflow:hidden}.profile-section-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:14px 16px 10px;border-bottom:1px solid var(--border)}.profile-field{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.profile-field:last-child{border-bottom:none}.profile-field__icon{width:32px;height:32px;border-radius:8px;background:var(--surface-2);color:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.profile-field__body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.profile-field__label{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.profile-field__value-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.profile-field__value{font-size:.95rem;font-weight:500;color:var(--text)}.profile-field__edit-row{display:flex;align-items:center;gap:6px}.profile-field__input{flex:1;padding:6px 10px;border:1.5px solid var(--primary);border-radius:8px;font-size:.95rem;background:var(--surface);color:var(--text);outline:none}.profile-icon-btn{width:28px;height:28px;border-radius:7px;border:none;background:var(--surface-2);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.profile-icon-btn--confirm{background:var(--primary);color:#fff}.profile-icon-btn:disabled{opacity:.5;cursor:not-allowed}.profile-role-badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.8rem;font-weight:700;width:fit-content}.profile-pw-form{padding:14px 16px;display:flex;flex-direction:column;gap:14px}.profile-pw-field{display:flex;flex-direction:column;gap:5px}.profile-pw-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.profile-pw-input-wrap{position:relative}.profile-pw-input{width:100%;padding:11px 40px 11px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:.93rem;background:var(--surface-2);color:var(--text);outline:none;transition:border-color .2s}.profile-pw-input:focus{border-color:var(--primary);background:var(--surface)}.profile-pw-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center}.profile-pw-submit{width:100%;margin-top:4px}.profile-signout-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:#fef2f2;color:#dc2626;border:1.5px solid #fecaca;border-radius:14px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-signout-btn:hover{background:#fee2e2}.profile-install-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;background:#fffbeb;color:var(--primary);border:1.5px solid var(--accent);border-radius:14px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s}.profile-install-btn:hover{background:#fef3c7}.profile-dev-label{font-size:.65rem;font-weight:700;letter-spacing:.1em;color:#9ca3af;text-align:center;margin-bottom:6px;text-transform:uppercase}.profile-dev-clear-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;background:transparent;color:#9ca3af;border:1.5px dashed #d1d5db;border-radius:12px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.profile-dev-clear-btn:hover{background:#fff3cd;color:#92400e;border-color:#fbbf24}.profile-section--collapsible{padding:0}.profile-toggle-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:none;border:none;cursor:pointer;color:var(--text);font-size:.95rem;font-weight:600}.profile-toggle-row__left{display:flex;align-items:center;gap:10px;color:var(--primary)}.profile-collapsible-body{padding:0 16px 16px;border-top:1px solid var(--border)}.profile-qr-hint{font-size:.78rem;color:var(--text-muted);margin:14px 0 16px;line-height:1.4}.profile-qr-wrap{display:flex;justify-content:center;margin-bottom:14px}.profile-qr-wrap canvas{border-radius:12px;box-shadow:0 2px 12px #0000001a}.profile-qr-download{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem}.cg-member-card{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:14px;padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 4px #0000000f}.cg-member-card__avatar-wrap{position:relative;flex-shrink:0}.cg-member-card__avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover}.cg-member-card__avatar-initials{width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600}.cg-member-card__online-dot{position:absolute;bottom:1px;right:1px;width:12px;height:12px;border-radius:50%;border:2px solid var(--surface);background:#9ca3af}.cg-member-card__online-dot--on{background:#22c55e}.cg-member-card__info{flex:1;min-width:0}.cg-member-card__name{font-size:.9rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.cg-member-card__leader-badge{font-size:.68rem;font-weight:600;background:var(--accent);color:var(--primary);padding:2px 6px;border-radius:6px}.cg-member-card__status{font-size:.75rem;color:var(--text-muted);margin-top:2px}.cg-member-card__role-badge{font-size:.72rem;font-weight:600;padding:3px 8px;border-radius:8px;flex-shrink:0}.cg-member-card__role-badge--admin{background:#7c3aed18;color:#7c3aed}.cg-member-card__role-badge--leader{background:#b4530918;color:#b45309}.cg-member-card__role-badge--member{background:#36454f18;color:#36454f}.cg-faithconnect-scan-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px 16px;margin-bottom:16px;background:var(--primary);color:#fff;border:none;border-radius:14px;font-size:.95rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:opacity .15s}.cg-faithconnect-scan-btn:hover{opacity:.88}.qr-scanner-sheet{padding-bottom:24px}.qr-scanner-hint{font-size:.8rem;color:var(--text-muted);margin-bottom:14px;line-height:1.4}.qr-scanner-region{width:100%;border-radius:12px;overflow:hidden}.qr-scanner-region #qr-scan-region__header_message,.qr-scanner-region #qr-scan-region__status_span,.qr-scanner-region #qr-scan-region__dashboard_section_swaplink{display:none}.qr-error{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 20px;text-align:center}.qr-error__msg{font-size:.88rem;color:var(--text-muted);line-height:1.55;max-width:280px}.qr-confirm-body{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px}.qr-confirm-avatar{width:64px;height:64px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center}.qr-confirm-name{font-size:1.05rem;font-weight:600;color:var(--text)}.qr-confirm-sub{font-size:.85rem;color:var(--text-muted);text-align:center}.text-muted{color:var(--text-muted)}.text-accent{color:var(--accent)}.text-center{text-align:center}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mb-1{margin-bottom:8px}.install-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:600;background:#0000007a;display:flex;align-items:flex-end;animation:overlay-in .25s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.install-sheet{position:relative;width:100%;background:var(--surface);border-radius:24px 24px 0 0;padding:10px 20px 40px;animation:sheet-up .32s cubic-bezier(.34,1.06,.64,1)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-sheet__handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px}.install-sheet__close{position:absolute;top:14px;right:16px;background:var(--surface-2);border:none;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:background .15s}.install-sheet__close:hover{background:var(--border)}.install-sheet__hero{display:flex;align-items:center;gap:14px;margin-bottom:14px}.install-sheet__app-icon{width:58px;height:58px;border-radius:14px;flex-shrink:0;box-shadow:0 2px 10px #0000001f}.install-sheet__app-name{font-size:1.1rem;font-weight:800;color:var(--primary);margin:0 0 3px}.install-sheet__app-desc{font-size:.78rem;color:var(--text-muted);margin:0}.install-sheet__eyebrow{font-size:.8rem;font-weight:600;color:var(--text-muted);margin-bottom:14px;text-align:center}.install-benefits{display:flex;gap:8px;margin-bottom:20px}.install-benefit{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px;background:var(--surface-2);border-radius:14px;text-align:center}.install-benefit__icon{width:40px;height:40px;border-radius:10px;background:#36454f14;display:flex;align-items:center;justify-content:center}.install-benefit__label{font-size:.72rem;font-weight:600;color:var(--text-muted);white-space:pre-line;line-height:1.3}.install-sheet__install-btn{width:100%;padding:15px;background:var(--primary);color:#fff;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.2px;transition:opacity .15s}.install-sheet__install-btn:active{opacity:.85}.install-sheet__later-btn{width:100%;padding:12px;background:none;border:none;color:var(--text-muted);font-size:.88rem;cursor:pointer;margin-top:4px}.install-steps{display:flex;flex-direction:column;gap:0;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;margin-bottom:16px}.install-step{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.install-step:last-child{border-bottom:none}.install-step__num{width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-step__icon-wrap{width:36px;height:36px;border-radius:10px;background:#36454f12;display:flex;align-items:center;justify-content:center;flex-shrink:0}.install-step__title{font-size:.88rem;font-weight:700;color:var(--text);margin:0 0 2px}.install-step__sub{font-size:.75rem;color:var(--text-muted)}.install-ios-hint{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;background:#cba92b1a;border:1.5px dashed var(--accent);border-radius:12px;margin-bottom:16px}.install-ios-hint__text{font-size:.78rem;color:var(--text-muted)}.install-ios-hint__chip{display:flex;align-items:center;gap:5px;background:var(--primary);color:#fff;border-radius:8px;padding:5px 10px;font-size:.78rem;font-weight:600}.install-sheet__got-it-btn{width:100%;padding:15px;background:var(--accent);color:var(--primary);border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:.2px;transition:opacity .15s}.install-sheet__got-it-btn:active{opacity:.85}.mb-2{margin-bottom:16px}
