:root{--font-serif: "Source Serif 4", "Merriweather", Georgia, "Times New Roman", serif;--font-heading: "Cinzel", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--bg-app: #f7f4ed;--bg-card: #ffffff;--bg-card-subtle: #f0ebe0;--bg-input: #e8e2d4;--border-card: #dcd4c3;--border-gold: #bfa15f;--text-main: #24211e;--text-muted: #5e5953;--text-gold: #8c6a23;--text-red: #8b1e1e;--color-primary: #8c6a23;--color-primary-bg: rgba(140, 106, 35, .08);--color-success: #1f7a4d;--color-success-bg: rgba(31, 122, 77, .1);--reader-font-size: 20px;--reader-line-height: 1.7;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}[data-theme=dark]{--bg-app: #121620;--bg-card: #182030;--bg-card-subtle: #1e283c;--bg-input: #232f46;--border-card: #283650;--border-gold: #a68538;--text-main: #f0ede6;--text-muted: #a6b2c4;--text-gold: #d8b868;--text-red: #d96d6d;--color-primary: #d8b868;--color-primary-bg: rgba(216, 184, 104, .12);--color-success: #2ec477;--color-success-bg: rgba(46, 196, 119, .15)}[data-theme=high-contrast]{--bg-app: #ffffff;--bg-card: #ffffff;--bg-card-subtle: #f2f2f2;--bg-input: #e0e0e0;--border-card: #000000;--border-gold: #000000;--text-main: #000000;--text-muted: #1a1a1a;--text-gold: #000000;--text-red: #8b0000;--color-primary: #000000;--color-primary-bg: #eeeeee;--color-success: #005a2b;--color-success-bg: #dcfce7}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{background-color:var(--bg-app);color:var(--text-main);font-family:var(--font-sans);line-height:1.5;min-height:100%;overflow-x:hidden;transition:background-color .2s ease,color .2s ease}button{font-family:inherit;border:none;background:none;cursor:pointer;touch-action:manipulation}.app-container{max-width:680px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-app);position:relative}.top-nav{position:sticky;top:0;z-index:40;background-color:var(--bg-card);border-bottom:1px solid var(--border-card);padding:calc(var(--safe-top) + 8px) 16px 8px 16px;display:flex;align-items:center;justify-content:space-between}.brand-wrapper{display:flex;align-items:center;gap:12px;cursor:pointer}.brand-portrait{width:40px;height:48px;object-fit:cover;border-radius:4px;border:1px solid var(--border-gold)}.brand-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;letter-spacing:.5px;color:var(--text-main);line-height:1.2}.brand-subtitle{font-size:.84rem;color:var(--text-muted)}.top-actions{display:flex;align-items:center;gap:6px}.top-btn{height:38px;padding:0 10px;border-radius:6px;border:1px solid var(--border-card);background-color:var(--bg-card-subtle);color:var(--text-main);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;transition:background-color .15s ease}.top-btn:active{background-color:var(--bg-input)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background-color:var(--bg-card);border-top:1px solid var(--border-card);padding:6px 12px calc(var(--safe-bottom) + 6px) 12px;max-width:680px;margin:0 auto}.tab-nav-list{display:flex;justify-content:space-around;align-items:center}.tab-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 8px;border-radius:8px;color:var(--text-muted);font-size:.84rem;font-weight:600;transition:all .15s ease;min-width:64px}.tab-btn.active{color:var(--text-main);background-color:var(--color-primary-bg);font-weight:700}[data-theme=high-contrast] .tab-btn.active{background-color:#000;color:#fff}.main-view{flex:1;padding:16px 16px 90px}.prayer-book-page{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;padding:24px 20px;margin-bottom:20px}.day-stepper-bar{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-bottom:12px;margin-bottom:16px;border-bottom:1px solid var(--border-card);width:100%;box-sizing:border-box}.day-badge-wrap{text-align:center;flex:1;min-width:0;padding:0 4px}.day-badge-title{font-family:var(--font-heading);font-size:clamp(.92rem,3.8vw,1.15rem);font-weight:700;color:var(--text-gold);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.day-badge-date{font-size:clamp(.78rem,3vw,.88rem);color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 10px;border-radius:6px;border:1px solid var(--border-card);background-color:var(--bg-card-subtle);color:var(--text-main);font-size:.86rem;font-weight:600;flex-shrink:0;white-space:nowrap}.step-btn:disabled{opacity:.35;cursor:not-allowed}.reading-theme{font-size:.86rem;text-transform:uppercase;letter-spacing:.8px;color:var(--text-gold);font-weight:700;margin-bottom:6px}.reading-title{font-family:var(--font-serif);font-size:1.45rem;font-weight:700;line-height:1.35;color:var(--text-main);margin-bottom:16px}.motto-card{font-family:var(--font-serif);font-style:normal;font-size:calc(var(--reader-font-size) * .95);font-weight:500;line-height:1.65;color:var(--text-main);background-color:var(--bg-card-subtle);border-left:3px solid var(--border-gold);border-radius:0 6px 6px 0;padding:14px 16px;margin:0 0 16px}.motto-card strong{color:var(--text-gold);font-weight:700}.scripture-box{background-color:var(--bg-card-subtle);border-left:3px solid var(--border-gold);padding:14px 16px;border-radius:0 6px 6px 0;margin-bottom:20px}.scripture-ref{font-family:var(--font-heading);font-size:.85rem;font-weight:700;color:var(--text-gold);margin-bottom:6px}.scripture-text{font-family:var(--font-serif);font-style:italic;font-size:calc(var(--reader-font-size) * .96);line-height:var(--reader-line-height);color:var(--text-main);margin:0}.reflection-section{margin-bottom:20px}.reflection-paragraph{font-family:var(--font-serif);font-size:var(--reader-font-size);line-height:var(--reader-line-height);color:var(--text-main);margin-bottom:14px;text-align:justify;text-justify:inter-word;word-break:normal;overflow-wrap:break-word}.reflection-paragraph:last-child{margin-bottom:0}.reflection-paragraph strong,.reflection-paragraph b{font-weight:700;color:var(--text-main)}.reflection-paragraph em,.reflection-paragraph i{font-style:italic}.reflection-paragraph:first-of-type:first-letter{all:unset}.prayer-day-box{border-top:1px solid var(--border-card);padding-top:18px;margin-top:18px}.prayer-label{font-family:var(--font-heading);font-size:.95rem;font-weight:700;color:var(--text-gold);margin-bottom:8px;display:flex;align-items:center;gap:6px}.prayer-body-text{font-family:var(--font-serif);font-size:var(--reader-font-size);line-height:var(--reader-line-height);color:var(--text-main);white-space:pre-line;margin-bottom:16px}.aspiration-box{background-color:var(--color-primary-bg);border:1px solid var(--border-card);border-radius:6px;padding:12px 16px;margin-top:12px}.aspiration-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-gold);margin-bottom:4px}.aspiration-text{font-family:var(--font-serif);font-weight:600;font-size:calc(var(--reader-font-size) * .95);color:var(--text-main);line-height:1.5}.mark-done-container{margin-top:24px;padding-top:18px;border-top:1px solid var(--border-card)}.mark-done-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;border-radius:8px;font-size:1.05rem;font-weight:700;border:1.5px solid var(--border-card);background-color:var(--bg-card-subtle);color:var(--text-main);transition:all .2s ease}.mark-done-btn.completed{background-color:var(--color-success);color:#fff;border-color:var(--color-success)}.mark-done-hint{font-size:.85rem;color:var(--text-muted);text-align:center;margin-top:8px}.sacred-image-card{display:flex;align-items:center;gap:14px;background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;padding:12px 16px;margin-bottom:18px}.sacred-image-card.clickable-sacred-card{cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.sacred-image-card.clickable-sacred-card:hover{border-color:var(--border-gold);background-color:var(--bg-card-subtle);transform:translateY(-1px)}.sacred-image-card.clickable-sacred-card:active{transform:scale(.99)}.sacred-image-arrow{color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,color .2s ease}.sacred-image-card.clickable-sacred-card:hover .sacred-image-arrow{color:var(--text-gold);transform:translate(2px)}.sacred-image-thumb{width:48px;height:60px;object-fit:cover;border-radius:4px;border:1px solid var(--border-gold)}.sacred-image-info h4{font-family:var(--font-heading);font-size:.92rem;color:var(--text-gold)}.sacred-image-info p{font-size:.85rem;color:var(--text-muted);line-height:1.4}.progress-summary-card{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;padding:16px;margin-bottom:18px;text-align:center}.progress-title{font-family:var(--font-heading);font-size:1rem;color:var(--text-gold);margin-bottom:4px}.progress-text{font-size:.88rem;color:var(--text-main);font-weight:600;margin-bottom:10px}.progress-bar-track{width:100%;height:8px;background-color:var(--bg-input);border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background-color:var(--color-success);transition:width .3s ease}.stage-block{margin-bottom:22px}.stage-header{padding:12px 14px;background-color:var(--bg-card-subtle);border:1px solid var(--border-card);border-left:4px solid var(--border-gold);border-radius:6px;margin-bottom:10px;transition:background-color .15s ease}.stage-title{font-family:var(--font-heading);font-size:calc(var(--reader-font-size) * .95);font-weight:700;color:var(--text-main);line-height:1.35}.stage-subtitle{font-size:calc(var(--reader-font-size) * .78);color:var(--text-gold);font-weight:600;margin-top:2px;line-height:1.3}.stage-intencja-text{margin-top:6px;font-size:calc(var(--reader-font-size) * .84);color:var(--text-gold);font-weight:600;line-height:1.35}.stage-desc{font-size:calc(var(--reader-font-size) * .78);color:var(--text-muted);margin-top:4px}.day-row-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:6px;margin-bottom:8px;cursor:pointer;transition:background-color .15s ease;font-size:var(--reader-font-size)}.day-row-item.current{border-color:var(--border-gold);background-color:var(--color-primary-bg)}.day-row-item.completed{border-color:#1f7a4d66}.day-row-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.day-number-circle{width:34px;height:34px;border-radius:50%;border:1px solid var(--border-card);background-color:var(--bg-card-subtle);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--text-main);flex-shrink:0}.day-number-circle.completed{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.day-number-circle.gold{background-color:var(--color-primary-bg);border-color:var(--border-gold);color:var(--text-gold)}.day-number-circle.gold.completed{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.day-info-text{flex:1;min-width:0}.day-info-title{font-size:calc(var(--reader-font-size) * .95);font-weight:600;color:var(--text-main);line-height:1.35;word-break:break-word}.day-info-meta{font-size:calc(var(--reader-font-size) * .75);color:var(--text-muted);margin-top:3px;line-height:1.3;word-break:break-word}.check-toggle-btn{padding:8px 10px;border-radius:6px;border:1px solid var(--border-card);background-color:var(--bg-card-subtle);color:var(--text-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:8px}.check-toggle-btn.completed{background-color:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.day-patronage-pill{display:inline-block;padding:4px 10px;border-radius:999px;background-color:var(--color-primary-bg);border:1px solid var(--border-gold);color:var(--text-gold);font-size:.86rem;font-weight:600;margin-top:6px;line-height:1.4;word-break:break-word}.scripture-badge{display:inline-block;margin-bottom:16px;padding:6px 12px;border-radius:6px;background-color:var(--bg-card-subtle);border:1px solid var(--border-card);font-size:.9rem;color:var(--text-main)}.section-subtitle{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text-gold);margin-bottom:12px;display:flex;align-items:center}.examination-box{margin-top:24px;padding:16px;border-radius:8px;background-color:var(--bg-card-subtle);border:1px solid var(--border-card)}.examination-list{list-style:none;padding:0;margin:0}.examination-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-family:var(--font-serif);font-size:var(--reader-font-size);line-height:var(--reader-line-height);color:var(--text-main)}.exam-bullet{color:var(--text-gold);font-weight:700;font-size:1.2em;line-height:1;flex-shrink:0}.daily-prayers-checklist{list-style:none;padding:0;margin:8px 0 0}.daily-prayer-item{padding:8px 6px;border-bottom:1px dashed var(--border-card);font-size:calc(var(--reader-font-size) * .9);color:var(--text-main);line-height:1.45;display:flex;justify-content:space-between;align-items:center;transition:all .15s ease;border-radius:4px}.daily-prayer-item.clickable-prayer:hover{background-color:var(--color-primary-bg);color:var(--text-gold)}.daily-prayer-item.clickable-prayer:active{transform:scale(.99)}.daily-prayer-item:last-child{border-bottom:none}.secondary-outline-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:6px;border:1px solid var(--border-gold);background-color:transparent;color:var(--text-gold);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .15s ease}.secondary-outline-btn:active{background-color:var(--color-primary-bg)}.footnote-box{line-height:1.5;word-break:break-word}.consecration-block{border:1.5px solid var(--border-gold);border-radius:8px;overflow:hidden}.consecration-row{margin-bottom:0!important;background-color:var(--color-primary-bg)!important}.prayers-hero-image-wrap{display:flex;justify-content:center;align-items:center;margin:0 auto 16px}.prayers-hero-image{width:130px;max-width:45vw;height:auto;border-radius:8px;border:1.5px solid var(--border-gold);box-shadow:0 4px 12px #00000014;object-fit:cover}.prayers-accordion{display:flex;flex-direction:column;gap:12px}.prayer-stage-block{margin-bottom:0!important;border:1px solid var(--border-card);border-radius:6px;background-color:var(--bg-card);overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.prayer-stage-block.expanded{border-color:var(--border-gold)}.prayer-stage-header{margin-bottom:0!important;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none;gap:10px}.prayer-stage-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.prayer-stage-title{font-size:calc(var(--reader-font-size) * .95);margin:0}.prayer-stage-author{font-size:max(.85rem,calc(var(--reader-font-size) * .78))}.prayer-stage-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.prayer-icon-circle{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-card);background-color:var(--bg-card-subtle);display:flex;align-items:center;justify-content:center;color:var(--text-gold);flex-shrink:0}.prayer-check-circle{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-card);background-color:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0}.prayer-check-circle.completed{background-color:var(--color-success);border-color:var(--color-success);color:#fff}.audio-mini-btn{width:34px;height:34px;border-radius:6px;border:1px solid var(--border-card);background-color:var(--bg-card);color:var(--text-main);display:flex;align-items:center;justify-content:center;cursor:pointer}.audio-mini-btn.active{background-color:var(--text-red);color:#fff;border-color:var(--text-red)}.prayer-check-btn{width:34px;height:34px;border-radius:6px;border:1px solid var(--border-card);background-color:var(--bg-card);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.prayer-check-btn.completed{background-color:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.prayer-content-wrap{padding:16px 18px 20px;border-top:1px solid var(--border-card);background-color:var(--bg-card)}.prayer-full-text{font-family:var(--font-serif);font-size:var(--reader-font-size);line-height:var(--reader-line-height);color:var(--text-main);word-break:break-word}.prayer-bottom-action{margin-top:18px;padding-top:14px;border-top:1px dashed var(--border-card)}.settings-section{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;padding:18px;margin-bottom:16px}.settings-heading{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--text-gold);margin-bottom:10px;display:flex;align-items:center;gap:8px}.settings-btn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.settings-select-btn{padding:10px;border-radius:6px;border:1.5px solid var(--border-card);background-color:var(--bg-card-subtle);color:var(--text-main);font-weight:600;font-size:.88rem;text-align:center}.settings-select-btn.active{border-color:var(--border-gold);background-color:var(--color-primary-bg);font-weight:700}.danger-btn{width:100%;padding:10px;border-radius:6px;border:1px solid var(--text-red);background-color:transparent;color:var(--text-red);font-weight:600;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:6px}@media (max-width: 480px){.main-view{padding:12px 10px 84px}.prayer-book-page{padding:18px 12px}.step-btn{padding:6px 8px;font-size:.82rem;gap:3px}}@media (max-width: 370px){.step-btn-text{display:none}.step-btn{padding:6px}}.pwa-install-banner{position:fixed;bottom:calc(var(--safe-bottom) + 68px);left:12px;right:12px;max-width:656px;margin:0 auto;z-index:45;background-color:var(--bg-card);border:1px solid var(--border-gold);border-radius:10px;padding:10px 14px;box-shadow:0 6px 20px #00000059;display:flex;align-items:center;justify-content:space-between;gap:10px;animation:slideUpFade .3s ease-out}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.pwa-banner-content{display:flex;align-items:center;gap:12px;min-width:0;flex:1}.pwa-banner-icon{width:40px;height:40px;border-radius:9px;object-fit:cover;flex-shrink:0;box-shadow:0 2px 6px #0003}.pwa-banner-text{display:flex;flex-direction:column;min-width:0}.pwa-banner-title{font-family:var(--font-heading);font-size:.92rem;color:var(--text-gold);line-height:1.2}.pwa-banner-desc{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.pwa-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-install-btn{background-color:var(--color-primary-bg);border:1px solid var(--border-gold);color:var(--text-gold);font-weight:700;font-size:.86rem;padding:7px 14px;border-radius:6px;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .15s ease}.pwa-install-btn:hover{background-color:var(--text-gold);color:#1a233a}.pwa-dismiss-btn{background:transparent;border:none;color:var(--text-muted);padding:6px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pwa-dismiss-btn:hover{color:var(--text-main)}.pwa-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background-color:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pwa-modal-card{background-color:var(--bg-card);border:1px solid var(--border-gold);border-radius:14px;max-width:440px;width:100%;padding:22px 20px 20px;position:relative;box-shadow:0 10px 30px #00000080;max-height:90vh;overflow-y:auto}.pwa-modal-close{position:absolute;top:14px;right:14px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px}.pwa-modal-close:hover{color:var(--text-main)}.pwa-modal-header{text-align:center;margin-bottom:20px}.pwa-modal-app-icon{width:54px;height:54px;border-radius:12px;margin:0 auto 10px;display:block;box-shadow:0 4px 12px #0000004d}.pwa-modal-header h3{font-family:var(--font-heading);font-size:1.15rem;color:var(--text-gold);margin-bottom:4px}.pwa-modal-header p{font-size:.85rem;color:var(--text-muted)}.pwa-ios-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.pwa-step-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:8px;background-color:var(--bg-card-subtle);border:1px solid var(--border-card)}.pwa-step-num{width:26px;height:26px;border-radius:50%;background-color:var(--color-primary-bg);border:1px solid var(--border-gold);color:var(--text-gold);font-weight:700;font-size:.86rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.pwa-step-body{flex:1;min-width:0}.pwa-step-title{font-size:.9rem;color:var(--text-main);display:flex;align-items:center;flex-wrap:wrap;gap:6px;line-height:1.4}.pwa-ios-icon-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;border-radius:6px;background-color:var(--bg-card);border:1px solid var(--border-card);color:var(--text-gold);vertical-align:middle}.pwa-step-desc{font-size:.82rem;color:var(--text-muted);margin-top:4px;line-height:1.4}.pwa-modal-footer{margin-top:16px;display:flex;flex-direction:column;gap:12px}.pwa-modal-success-badge{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--color-success);padding:8px 12px;background-color:var(--color-success-bg);border-radius:6px;line-height:1.35}
