@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=Plus+Jakarta+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";:root{--font-display: "Fraunces", Georgia, serif;--font-body: "Plus Jakarta Sans", system-ui, sans-serif;--bg: #F5F0E6;--surface: #FFFCF7;--accent: #396D54;--accent-deep: #2A5540;--accent-soft: #D4E8DC;--sage: #8FAF9C;--sage-light: #B8CEBF;--forest-muted: #5E826E;--text-primary: #2E4036;--text-secondary: #4A6356;--text-muted: #7A9488;--line: #C8D9CE;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--text-primary);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}#root,.app{width:100%;min-height:100vh}.app-body{flex:1;width:100%;max-width:480px;margin:0 auto;padding:29px 1.25rem 4rem;padding-left:max(1.25rem,39px);min-height:100vh;display:flex;flex-direction:column}.app-body--with-sidebar{max-width:none;width:100%;margin:0 auto;padding:29px 1.25rem calc(7.5rem + env(safe-area-inset-bottom,0px));padding-left:max(1.25rem,39px);padding-right:1.25rem}.app-body--with-sidebar .main{width:100%;max-width:480px;margin:0 auto}.header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2.5rem;width:100%;overflow:visible;padding-top:max(29px,env(safe-area-inset-top,0px) + 16px);padding-left:max(1.25rem,39px);padding-right:1.25rem}.activity-bell{position:relative;flex-shrink:0;margin-left:auto}.activity-bell-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;padding:0;color:var(--text-secondary);background:none;border:none;border-radius:0;cursor:pointer;transition:color .15s ease}.activity-bell-btn:hover,.activity-bell-btn--open{color:var(--accent-deep);background:none;border-color:transparent}.activity-bell-icon{width:1.15rem;height:1.15rem}.activity-bell-badge{position:absolute;top:-.15rem;right:-.1rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;font-size:.62rem;font-weight:700;line-height:1.05rem;text-align:center;color:#fff;background:var(--accent-deep);border-radius:999px}.activity-bell-panel{position:absolute;top:calc(100% + .55rem);right:0;z-index:30;width:min(19.5rem,calc(100vw - 2.5rem));max-height:min(26rem,60vh);overflow:auto;padding:0 0 .35rem;background:var(--bg);border:none;border-radius:1.1rem;box-shadow:0 16px 40px #2e40361f}.activity-bell-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.15rem 1.15rem .65rem}.activity-bell-panel-title{margin:0;font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--accent-deep)}.activity-bell-clear{padding:0;font-family:var(--font-body);font-size:.68rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer}.activity-bell-clear:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.activity-bell-empty-wrap{display:flex;flex-direction:column;gap:0;padding:.25rem 1.15rem 1.35rem}.activity-bell-empty{margin:0 0 1.35rem;font-size:.78rem;line-height:1.65;color:var(--text-muted)}.activity-bell-section-label{margin:0 0 1rem;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.activity-bell-examples,.activity-bell-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.35rem}.activity-bell-list{padding:.35rem 1.15rem 1.15rem}.activity-bell-row{display:block;width:100%;padding:.15rem 0 .15rem .85rem;text-align:left;border-left:2px solid var(--accent)}.activity-bell-examples li:nth-child(3n+2) .activity-bell-row,.activity-bell-list li:nth-child(3n+2) .activity-bell-row{border-left-color:var(--sage)}.activity-bell-examples li:nth-child(3n) .activity-bell-row,.activity-bell-list li:nth-child(3n) .activity-bell-row{border-left-color:var(--sage-light)}.activity-bell-row--button{font:inherit;color:inherit;background:none;border-top:none;border-right:none;border-bottom:none;cursor:pointer;transition:color .15s ease}.activity-bell-row--button:hover .activity-bell-item-title{color:var(--accent-deep)}.activity-bell-row-body{display:flex;flex-direction:column;gap:.45rem}.activity-bell-row-icon{display:flex;align-items:center;justify-content:flex-start;width:auto;height:auto;margin:0;color:var(--sage-light)}.activity-bell-row-icon--unread{color:var(--sage)}.activity-bell-kind-icon{width:1.15rem;height:1.15rem;display:block}.activity-bell-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.activity-bell-item-detail-row{display:flex;align-items:flex-start;gap:.5rem}.activity-bell-detail-art{flex-shrink:0;width:1.75rem;height:1.75rem;object-fit:cover;border-radius:.15rem;background:var(--sage-light);box-shadow:0 1px 2px #2d3a2a14}.activity-bell-simulate{align-self:flex-start;margin-top:1.35rem;padding:0;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer}.activity-bell-simulate:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.activity-bell-simulate--footer{margin:.35rem 0 0;padding:0 1.15rem 1.15rem;width:100%;text-align:left}.activity-bell-item-title{display:block;flex:1;min-width:0;font-size:.78rem;font-weight:600;line-height:1.45;color:var(--text)}.activity-bell-item-title--unread{color:var(--accent-deep)}.activity-bell-when{flex-shrink:0;font-size:.62rem;line-height:1.45;color:var(--text-muted)}.activity-bell-item-detail{display:block;flex:1;min-width:0;margin-top:0;font-size:.72rem;line-height:1.55;color:var(--text-muted)}.logo{display:flex;align-items:center;gap:10px}.logo-hands{display:block;width:16px;height:28px;flex-shrink:0}.logo-text{font-family:var(--font-body);font-size:16px;font-weight:700;letter-spacing:0;text-transform:lowercase;line-height:1;color:var(--accent)}@media (min-width: 640px){.app-body{padding:29px 2.5rem 4rem;padding-left:max(2.5rem,39px)}.app-body--with-sidebar{padding:29px 2.5rem 4rem;margin-left:5.25rem}.header{position:fixed;top:max(29px,env(safe-area-inset-top,0px) + 12px);left:39px;width:auto;margin-bottom:0;padding-top:0;padding-left:0;padding-right:0;z-index:10;justify-content:flex-start}.app--with-sidebar .header{left:1.7rem}.activity-bell{position:fixed;top:max(29px,env(safe-area-inset-top,0px) + 12px);right:2.5rem;margin-left:0;z-index:10}.app-body .main,.app-body--with-sidebar .main{max-width:480px;margin:0 auto;width:100%;padding-top:3rem}.side-nav{width:5.25rem;padding-left:1rem;padding-right:1rem;padding-top:7rem}}.main{flex:1;display:flex;flex-direction:column;justify-content:center}.main--top{justify-content:flex-start;padding-top:.5rem}@media (min-width: 640px){.main--top{padding-top:1rem}}.home{display:flex;flex-direction:column;align-items:stretch;width:100%;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.trace-gesture{display:flex;flex-direction:column;align-items:center;gap:1.75rem;width:100%}.trace-cross-stage{position:relative;width:min(180px,50vw);aspect-ratio:292 / 406;overflow:visible}.trace-canvas-wrap{position:relative;width:100%;height:100%}@media (min-width: 640px){.trace-cross-stage{width:min(220px,24vw)}}.trace-svg{width:100%;height:100%;display:block;overflow:visible}.trace-outline{stroke:var(--sage-light);opacity:.35}.trace-progress{stroke:var(--accent);transition:stroke-dasharray .08s ease}.trace-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.trace-hint{font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:lowercase;color:var(--sage);margin:0}.trace-gesture--complete .trace-progress{transition:stroke-dashoffset .35s ease}.trace-gesture--complete .trace-canvas-wrap{animation:crossPulse .5s ease}@keyframes crossPulse{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}.trace-halo-rays{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.trace-halo-ray{stroke:var(--accent);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;animation:traceHaloRay .6s cubic-bezier(.22,1,.36,1) forwards}@keyframes traceHaloRay{0%{stroke-dashoffset:1;opacity:0}to{stroke-dashoffset:0;opacity:.92}}.input-line-form{width:100%;animation:slideUp .45s ease both}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.input-line-wrap{position:relative;margin-bottom:2rem}.input-line{width:100%;padding:.5rem 0;font-family:var(--font-body);font-size:1.05rem;font-weight:400;color:var(--text-primary);background:transparent;border:none;outline:none}.input-line::placeholder{color:var(--text-muted);font-weight:300}.input-line-bar{display:block;height:1.5px;background:var(--sage-light);transform-origin:left;animation:drawLine .6s ease .1s both}@keyframes drawLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.input-line:focus+.input-line-bar{background:var(--accent);height:2px;transition:background .2s,height .2s}.suggestions{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 0;justify-content:center;align-items:center}.suggestions--home{--suggestion-row-height: 1.45rem;max-height:calc(3 * var(--suggestion-row-height) + 2 * .5rem + .15rem);overflow:hidden}.suggestions li+li:before{content:"·";margin:0 .65rem;color:var(--sage-light);pointer-events:none}.suggestion{padding:0;font-family:var(--font-body);font-size:.78rem;font-weight:500;line-height:var(--suggestion-row-height, 1.45rem);letter-spacing:.03em;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s}.suggestion:hover{color:var(--accent)}.suggestion:focus-visible{color:var(--accent);outline:none}.results{animation:fadeIn .4s ease}.results-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.results-query{font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--text-secondary);margin:0;text-transform:lowercase}.clear-search{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;margin:-.25rem -.25rem 0 0;font-family:inherit;font-size:1.35rem;font-weight:300;line-height:1;color:var(--sage);background:none;border:none;border-radius:50%;cursor:pointer;transition:color .15s,background .15s}.clear-search:hover{color:var(--accent);background:var(--accent-soft)}.clear-search:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.results-pagination{display:flex;justify-content:center;gap:1.1rem;margin-top:2.5rem}.results-page-btn{font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.03em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:.1rem 0 .25rem;cursor:pointer;transition:color .15s,border-color .15s}.results-page-btn:hover{color:var(--text-secondary)}.results-page-btn--active,.results-page-btn--active:hover{color:var(--accent);border-bottom-color:var(--accent)}.song-recs{margin-top:2.75rem;padding-top:1.5rem;border-top:1px solid var(--line)}.song-recs-header{margin-bottom:.85rem}.song-recs-title{margin:0;font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--text-secondary)}.song-recs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2rem}.song-recs-more{margin-top:1.25rem;padding:0;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s}.song-recs-more:hover{color:var(--accent)}.song-rec{display:flex;align-items:center;gap:.75rem;width:100%;min-width:0;text-decoration:none;color:inherit}.song-rec-trigger{padding:0;margin:0;font:inherit;text-align:left;background:none;border:none;cursor:pointer;border-radius:.25rem}.song-rec-trigger:hover .song-rec-title{color:var(--accent)}.song-rec-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.song-rec-art{flex-shrink:0;width:2.75rem;height:2.75rem;object-fit:cover;border-radius:.2rem;background:var(--sage-light);box-shadow:0 1px 2px #2d3a2a14}.song-rec-art-placeholder{display:block;background:linear-gradient(145deg,var(--accent-soft) 0%,var(--sage-light) 100%)}.song-rec-meta{display:flex;flex-direction:column;gap:.15rem;min-width:0}.song-rec-title{font-size:.92rem;font-weight:500;color:var(--text-primary);transition:color .15s}.song-rec-artists{font-size:.72rem;color:var(--text-muted)}.passage-list{display:flex;flex-direction:column;gap:2rem}.passage-card{padding-left:.85rem;border-left:2px solid var(--accent);animation:fadeUp .45s ease both}.passage-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.passage-card-header--end{justify-content:flex-end}.passage-card-header .passage-ref{margin-bottom:0;flex:1}.passage-card:nth-child(2){border-left-color:var(--sage);animation-delay:.08s}.passage-card:nth-child(3){border-left-color:var(--sage-light);animation-delay:.16s}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.passage-text{font-family:var(--font-display);font-size:1.08rem;font-weight:400;line-height:1.75;color:var(--text-primary);margin:0 0 .85rem;quotes:none}.passage-text--loading{opacity:.55}.bible-translation-tabs{display:flex;gap:1.35rem;padding:0 .1rem}.bible-translation-tab{position:relative;flex:0 0 auto;padding:0 0 .6rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;border-radius:0;cursor:pointer;transition:color .15s}.bible-translation-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;border-radius:1px;transition:background .15s}.bible-translation-tab:hover:not(:disabled){color:var(--text-secondary)}.bible-translation-tab--active{color:var(--accent-deep)}.bible-translation-tab--active:after{background:var(--accent)}.bible-translation-tab:disabled{opacity:.5;cursor:wait}.passage-translation-bar{margin-bottom:1.1rem}.passage-translation-bar--group{margin-bottom:.85rem}.wallpaper-tabs .bible-translation-tab,.wallpaper-tabs--version .bible-translation-tab{font-size:.68rem}.passage-ref{display:block;font-family:var(--font-body);font-size:.68rem;font-weight:600;font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);margin-bottom:.65rem}.passage-ref--footer{margin-top:.85rem;margin-bottom:0}.passage-card-actions{display:flex;align-items:center;gap:1.5rem;margin-top:1.1rem}.passage-pray-link{display:inline-flex;align-items:center;gap:.4rem}.passage-pray-icon{display:block;width:18px;height:18px;flex-shrink:0;background-color:currentColor;-webkit-mask-image:url(/icons/olive-branch.png);mask-image:url(/icons/olive-branch.png);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center bottom;mask-position:center bottom}.passage-reflection{font-size:.84rem;font-weight:400;line-height:1.6;color:var(--text-muted);margin:0}.favorite-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;padding:0;margin:-.35rem -.35rem 0 0;background:none;border:none;border-radius:50%;cursor:pointer;transition:background .15s,transform .15s}.favorite-btn:hover{background:var(--accent-soft)}.favorite-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.favorite-btn--active{transform:scale(1.03)}.halo-icon{display:block}.halo-icon__ring{stroke:var(--sage-light);stroke-width:1.5;stroke-linecap:round;transition:stroke .2s,stroke-width .2s}.halo-icon__rays{opacity:0;transition:opacity .22s ease}.halo-icon__ray{stroke:var(--accent);stroke-width:1.35;stroke-linecap:butt;opacity:0;transform-origin:center;transition:opacity .2s ease,stroke .2s ease}.halo-icon--active .halo-icon__ring{stroke:var(--accent);stroke-width:1.65}.halo-icon--active .halo-icon__rays,.halo-icon--active .halo-icon__ray{opacity:1}.halo-icon--active .halo-icon__ray:nth-child(1){transition-delay:0ms}.halo-icon--active .halo-icon__ray:nth-child(2){transition-delay:25ms}.halo-icon--active .halo-icon__ray:nth-child(3){transition-delay:25ms}.halo-icon--active .halo-icon__ray:nth-child(4){transition-delay:50ms}.halo-icon--active .halo-icon__ray:nth-child(5){transition-delay:50ms}.halo-icon--active .halo-icon__ray:nth-child(6){transition-delay:75ms}.halo-icon--active .halo-icon__ray:nth-child(7){transition-delay:75ms}.section-title{font-family:var(--font-body);font-size:.82rem;font-weight:600;letter-spacing:.14em;text-transform:lowercase;color:var(--accent-deep);margin:0 0 .65rem}.section-lead{font-size:.84rem;line-height:1.6;color:var(--text-muted);margin:0 0 1.75rem}.prayer-section,.favorites-section,.music-section{width:100%;animation:fadeIn .4s ease}.music-groups{display:flex;flex-direction:column;gap:2.5rem}.music-group-title{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary);margin:0 0 1.25rem}.music-song-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.35rem}.prayer-form{margin-bottom:2.5rem}.prayer-linked-passage{margin-bottom:1rem}.prayer-passage-link{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.65rem}.prayer-passage-preview{padding:.85rem .95rem .95rem;border:1px solid var(--line);border-radius:.95rem;background:#396d540d}.passage-translation-bar--prayer-preview{margin-bottom:.65rem}.passage-translation-bar--prayer-preview .bible-translation-tab{font-size:.66rem;padding-bottom:.4rem}.prayer-passage-preview-text{margin:0;font-size:.92rem;line-height:1.65;color:var(--text)}.passage-theme-tag--removable{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);border:none;text-transform:none}.passage-theme-tag-label{padding:0;font:inherit;letter-spacing:inherit;word-spacing:inherit;color:inherit;background:none;border:none;cursor:pointer;text-align:left}.passage-theme-tag-label:hover{text-decoration:underline;text-underline-offset:.15em}.passage-theme-tag--removable:hover{background:#396d542e}.passage-theme-tag-x{padding:0;font-size:.85rem;line-height:1;color:inherit;opacity:.7;background:none;border:none;cursor:pointer}.passage-theme-tag-x:hover{opacity:1}.prayer-linked-ref{display:block;margin:.55rem 0 0;font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:none;word-spacing:.35em;color:var(--accent)}.prayer-linked-ref--btn{padding:0;font-family:inherit;text-align:left;background:none;border:none;cursor:pointer;transition:color .15s}.prayer-linked-ref--btn:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:.18em}.passage-preview-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));overflow-y:auto;background:#2e403647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.passage-preview-panel{width:min(100%,20rem);margin:auto;flex-shrink:0;padding:1.15rem 1.15rem 1.25rem;background:var(--bg);border:1px solid var(--line);border-radius:1.1rem;box-shadow:0 18px 48px #2e40361f}.passage-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.passage-preview-header .passage-ref{margin:0;flex:1;min-width:0}.passage-preview-panel .passage-card--preview{animation:none;padding-left:.65rem}.passage-preview-panel .passage-text{font-size:.95rem;line-height:1.65;margin-bottom:.65rem}.passage-preview-panel .passage-reflection{font-size:.76rem;line-height:1.5}.passage-preview-panel .passage-ref--footer{margin-top:.65rem;font-size:.78rem}.passage-preview-panel .passage-translation-bar--preview{margin-bottom:.75rem}.passage-preview-panel .bible-translation-tab{font-size:.66rem;padding-bottom:.45rem}.passage-preview-missing{margin:0;font-size:.82rem;color:var(--text-muted);text-transform:lowercase}.song-detail-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));overflow-y:auto;background:#2e403647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.song-detail-panel{width:min(100%,38rem);margin:auto;flex-shrink:0;padding:calc(1rem - 10px) 1.35rem 1.3rem;background:linear-gradient(180deg,var(--surface) 0%,var(--bg) 42%,var(--bg) 100%);border:1px solid var(--line);border-radius:.85rem;box-shadow:0 18px 48px #2e40361f;animation:fadeUp .35s ease both}.song-detail-header{display:flex;align-items:center;justify-content:flex-end;gap:.15rem;margin:-.15rem 0 .55rem}.song-detail-header .wallpaper-modal-close{width:2rem;height:2rem}.song-detail-hero{display:flex;align-items:flex-start;gap:1.15rem;min-width:0}.song-detail-art{flex-shrink:0;width:7rem;height:7rem;object-fit:cover;border-radius:.3rem;background:var(--sage-light);box-shadow:0 1px 2px #2d3a2a14,0 8px 20px #2d3a2a14}.song-detail-art-placeholder{display:block;background:linear-gradient(145deg,var(--accent-soft) 0%,var(--sage-light) 100%)}.song-detail-meta{display:flex;flex-direction:column;gap:.35rem;min-width:0;flex:1}.song-detail-title{margin:0;font-family:var(--font-display);font-size:1.45rem;font-weight:500;line-height:1.22;color:var(--text-primary);text-wrap:balance}.song-detail-artists{margin:0;font-family:var(--font-body);font-size:.88rem;font-weight:400;line-height:1.4;color:var(--text-secondary)}.song-detail-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.2rem}.song-detail-genre-chip{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);border-radius:999px;padding:.22rem .58rem}.song-detail-blurbs{display:flex;flex-direction:column;gap:.95rem;margin-top:1.15rem}.song-detail-blurb-block{min-width:0;padding:.15rem 0 .1rem .75rem;border-left:2px solid var(--accent)}.song-detail-blurb-block--artist{border-left-color:var(--sage)}.song-detail-blurb-block--concerts{border-left-color:color-mix(in srgb,var(--accent) 55%,var(--sage))}.song-detail-section-label{margin:0 0 .4rem;font-family:var(--font-body);font-size:.64rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep)}.song-detail-section-label--artist{color:var(--text-muted)}.song-detail-section-label--concerts{color:var(--accent)}.song-detail-concerts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.song-detail-concert{display:grid;gap:.08rem;text-decoration:none;color:inherit;border-radius:.35rem;transition:background .15s}a.song-detail-concert:hover{background:#396d540f}a.song-detail-concert:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.song-detail-concert-date{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-deep)}.song-detail-concert-venue{font-family:var(--font-body);font-size:.84rem;font-weight:500;line-height:1.4;color:var(--text-primary)}.song-detail-concert-place,.song-detail-concert-distance,.song-detail-concert-bill{font-family:var(--font-body);font-size:.78rem;line-height:1.4;color:var(--text-muted)}.song-detail-concerts-empty{margin:0}.song-detail-concerts-link,.song-detail-concerts-more{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.song-detail-concerts-more{display:inline-block;margin-top:.55rem;font-size:.78rem}.song-detail-blurb{margin:0;font-family:var(--font-body);font-size:.84rem;font-weight:400;line-height:1.6;color:var(--text-secondary);text-wrap:pretty}.song-detail-blurb-artist{color:var(--text-muted)}.song-detail-footer{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem;margin-top:1.1rem}.song-detail-actions{display:flex;align-items:center;gap:.15rem}.song-detail-actions .favorite-btn{width:2rem;height:2rem;margin:0;color:var(--accent);border-radius:.3rem}.song-detail-actions .favorite-btn:hover{color:var(--accent-deep);background:#396d5414}.song-detail-action{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;color:var(--accent);background:transparent;border:none;border-radius:.3rem;cursor:pointer;text-decoration:none;transition:color .15s,background .15s}.song-detail-action:hover:not(:disabled){color:var(--accent-deep);background:#396d5414}.song-detail-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.song-detail-action:disabled{opacity:.4;cursor:not-allowed}.song-detail-icon{display:block;width:1.15rem;height:1.15rem;flex-shrink:0}.song-detail-status{margin:0;font-size:.72rem;line-height:1.5;color:var(--text-muted);text-transform:lowercase}@media (max-width: 560px){.song-detail-panel{width:min(100%,26rem);padding:.95rem 1.05rem 1.15rem}.song-detail-hero{gap:.9rem}.song-detail-art,.song-detail-art-placeholder{width:5.5rem;height:5.5rem}.song-detail-title{font-size:1.2rem}.song-detail-blurbs{gap:.85rem}}@media (max-width: 380px){.song-detail-panel{padding:.85rem .9rem 1.05rem}.song-detail-art,.song-detail-art-placeholder{width:4.75rem;height:4.75rem}.song-detail-title{font-size:1.08rem}}.prayer-input{width:100%;min-height:9rem;padding:.85rem 0;font-family:var(--font-display);font-size:1.02rem;line-height:1.7;color:var(--text-primary);background:transparent;border:none;border-bottom:1.5px solid var(--sage-light);outline:none;resize:vertical;transition:border-color .2s}.prayer-input::placeholder{color:var(--text-muted);font-style:italic}.prayer-input:focus{border-bottom-color:var(--accent);border-bottom-width:2px}.prayer-theme-picker{margin-top:1.25rem}.prayer-theme-picker-chips{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem;padding-top:1.1rem;max-height:11rem;overflow-y:auto;padding-bottom:.25rem}.prayer-saved-filters{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.prayer-form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.prayer-save-btn,.prayer-secondary-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:lowercase;text-align:center;text-decoration:none;padding:.55rem 1rem;border-radius:999px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:background .15s,color .15s,border-color .15s,opacity .15s}.prayer-save-btn{color:var(--surface);background:var(--accent);border:none}a.prayer-save-btn:link,a.prayer-save-btn:visited{color:var(--surface);text-decoration:none}.prayer-save-btn:hover:not(:disabled){background:var(--accent-deep)}.prayer-save-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prayer-save-btn:disabled{opacity:.45;cursor:not-allowed}.prayer-secondary-btn{color:var(--text-muted);background:none;border:1px solid var(--line)}a.prayer-secondary-btn:link,a.prayer-secondary-btn:visited{color:var(--text-muted);text-decoration:none}.prayer-secondary-btn:hover:not(:disabled){color:var(--accent);border-color:var(--sage)}.prayer-secondary-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.prayer-secondary-btn:disabled{opacity:.45;cursor:not-allowed}.prayer-card-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#2e403647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.prayer-card-modal-panel{width:min(100%,22rem);max-height:calc(100vh - 3rem);overflow-y:auto;padding:1.35rem 1.25rem 1.5rem;background:var(--bg);border:1px solid var(--line);border-radius:.35rem;box-shadow:0 18px 48px #2e40361f}.prayer-card-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.prayer-card-modal-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.prayer-card-modal-close{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.35rem;font-weight:300;line-height:1;color:var(--sage);background:none;border:none;border-radius:50%;cursor:pointer;transition:color .15s,background .15s}.prayer-card-modal-close:hover{color:var(--accent);background:var(--accent-soft)}.prayer-card-modal-lead{margin:0 0 1.25rem;font-size:.8rem;line-height:1.55;color:var(--text-muted)}.prayer-share-card{width:100%;padding:1.15rem 1rem 1.1rem;background:#ebe3d2;border-left:2px solid var(--forest-muted);border-radius:.2rem}.prayer-share-card--compact .prayer-share-card-text{font-size:.9rem;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.prayer-share-card--compact .prayer-share-card-brand{margin-bottom:.75rem}.saved-library{margin-top:.5rem}.saved-library-tabs{display:flex;gap:1.1rem;margin-bottom:1.25rem}.saved-library-panel{animation:fadeIn .3s ease}.passage-reflections-lead{margin:0 0 1.35rem;font-size:.8rem;line-height:1.55;color:var(--text-muted)}.passage-reflections-empty{padding:1.25rem 1.1rem;border:1px dashed var(--line);border-radius:.95rem;background:#396d540a}.passage-reflections-empty-lead{margin:0 0 .65rem;font-size:.84rem;line-height:1.6;color:var(--text)}.passage-reflections-empty-hint{margin:0;font-size:.78rem;line-height:1.5;color:var(--text-muted)}.passage-reflection-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2rem}.passage-reflection-group{padding-left:.85rem;border-left:2px solid var(--forest-muted)}.passage-reflection-header{margin-bottom:.75rem}.passage-reflection-ref{padding:0;font-family:var(--font-body);font-size:.78rem;font-weight:600;font-style:normal;letter-spacing:.06em;text-transform:none;word-spacing:.35em;color:var(--accent);background:none;border:none;cursor:pointer;text-align:left}.passage-reflection-ref:hover{color:var(--accent-deep);text-decoration:underline;text-underline-offset:.18em}.passage-reflection-meta{margin:.35rem 0 0;font-size:.72rem;color:var(--text-muted)}.passage-reflection-note{margin:0 0 .95rem;font-size:.84rem;line-height:1.65;color:var(--text-secondary);font-style:italic}.passage-reflection-scripture{margin-bottom:1.1rem;padding:.8rem .9rem;border:1px solid var(--line);border-radius:.85rem;background:#396d540d}.passage-translation-bar--reflection{margin-bottom:.55rem}.passage-translation-bar--reflection .bible-translation-tab{font-size:.64rem;padding-bottom:.35rem}.passage-reflection-scripture-text{margin:0;font-size:.88rem;line-height:1.62}.passage-reflection-prayers-label{margin:0 0 .85rem;font-family:var(--font-body);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.passage-reflection-prayer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.15rem}.passage-reflection-prayer{padding-top:.15rem}.passage-reflection-prayer .prayer-date{display:block;margin-bottom:.45rem}.passage-reflection-prayer .passage-text--prayer{margin-bottom:.55rem}.passage-reflection-prayer .prayer-text-btn{margin-top:.15rem}.saved-cards{margin-bottom:0}.saved-cards-lead{margin:-.65rem 0 1.25rem;font-size:.8rem;line-height:1.55;color:var(--text-muted)}.saved-card-grid{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}.saved-card-thumb{width:100%;padding:0;background:none;border:none;cursor:pointer;text-align:left;transition:transform .15s ease,opacity .15s ease}.saved-card-thumb:hover{transform:translateY(-2px)}.saved-card-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:.2rem}.prayer-share-card-brand{display:flex;align-items:center;gap:.45rem;margin-bottom:1rem}.prayer-share-card-logo{display:block;flex-shrink:0}.prayer-share-card-wordmark{font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:lowercase;color:var(--accent-deep)}.prayer-share-card-text{margin:0 0 .9rem;font-family:var(--font-display);font-size:1rem;font-style:italic;line-height:1.7;color:var(--text-primary);white-space:pre-wrap}.prayer-share-card-ref{display:block;margin:-.35rem 0 .75rem;font-style:normal;font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--accent)}.prayer-share-card-date{display:block;font-size:.68rem;font-weight:400;letter-spacing:.03em;color:var(--text-muted);text-transform:lowercase}.prayer-share-card-themes{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.prayer-card-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.prayer-card-modal-share{padding:.55rem 1.15rem}.prayer-card-modal-status{margin:.85rem 0 0;font-size:.72rem;line-height:1.5;color:var(--text-muted);text-align:center;text-transform:lowercase}.saved-prayers-title{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary);margin:0 0 1.25rem}.saved-prayer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.5rem}.passage-card--prayer{border-left-color:var(--forest-muted)}.passage-text--prayer{font-style:italic;margin-bottom:.75rem;white-space:pre-wrap}.passage-card--prayer .passage-themes{margin-top:.85rem}.prayer-card-actions{display:flex;gap:1.5rem;margin-top:1.35rem}.prayer-text-btn{padding:0;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s}.prayer-text-btn:hover{color:var(--accent)}.prayer-text-btn--danger:hover{color:#8b4a4a}.favorites-empty{font-size:.86rem;line-height:1.65;color:var(--text-muted);margin:0;padding:1.5rem 0}.favorites-filters{margin-bottom:2rem}.favorites-filters-toggle{display:flex;align-items:center;gap:.55rem;width:100%;padding:0;background:none;border:none;cursor:pointer;font-family:var(--font-body);text-align:left}.favorites-filters-toggle:hover .favorites-filters-toggle-label{color:var(--accent)}.favorites-filters-toggle-label{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary);transition:color .15s}.favorites-filters-active{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.favorites-filter-tag{font-size:.72rem;font-weight:500;letter-spacing:.02em;text-transform:lowercase;color:var(--accent);border-bottom:2px solid var(--accent);padding-bottom:.1rem}.favorites-filters-chevron{flex-shrink:0;width:.4rem;height:.4rem;margin-left:auto;border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);transform:rotate(45deg);transition:transform .2s ease,border-color .15s}.favorites-filters-toggle:hover .favorites-filters-chevron{border-color:var(--accent)}.favorites-filters-chevron--open{transform:rotate(-135deg)}.favorites-filters-panel{display:flex;flex-direction:column;gap:1.25rem;padding-top:1.1rem}.favorites-filter-group{display:flex;flex-direction:column;gap:.6rem}.favorites-filter-label{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.favorites-filter-chips{display:flex;flex-wrap:wrap;gap:.85rem 1.1rem}.favorites-filter-chip{font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.03em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;border-radius:0;padding:.1rem 0 .25rem;cursor:pointer;transition:color .15s,border-color .15s}.favorites-filter-chip:hover{color:var(--text-secondary)}.favorites-filter-chip--active,.favorites-filter-chip--active:hover{color:var(--accent);border-bottom-color:var(--accent)}.music-search{display:flex;flex-direction:column;gap:.6rem;margin:-.4rem 0 1.35rem}.music-search-wrap{position:relative}.music-search-input{width:100%;padding:.35rem 0 .4rem;font-family:var(--font-body);font-size:.88rem;font-weight:400;letter-spacing:.02em;color:var(--text-primary);background:transparent;border:none;outline:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.music-search-input::placeholder{color:var(--text-muted);font-weight:300}.music-search-input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.music-search-bar{display:block;height:1.5px;background:var(--sage-light)}.music-search-input:focus+.music-search-bar{background:var(--accent);height:2px;transition:background .2s,height .2s}.passage-themes{list-style:none;margin:.65rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.passage-theme-tag{display:inline-block;font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--accent);background:#396d541a;border-radius:999px;padding:.2rem .55rem}.passage-theme-tag.passage-theme-tag--removable{text-transform:none;word-spacing:.35em}.prayer-date{font-size:.68rem;font-weight:400;letter-spacing:.03em;color:var(--text-muted);text-transform:lowercase;flex:1}.favorites-groups{display:flex;flex-direction:column;gap:2.5rem}.favorites-type-tabs{margin:0 0 1.25rem}.favorites-song-cards{display:flex;flex-direction:column;gap:4rem}.favorite-song-card{min-width:0}.favorite-song-card-top{display:flex;align-items:flex-start;gap:.5rem}.favorite-song-card-top .favorite-btn{margin-top:.15rem;flex-shrink:0}.favorite-song-card-link.song-rec-trigger,.favorite-song-card-link{flex:1;min-width:0;width:auto;text-align:left}.favorite-song-card-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.favorite-song-card-blurbs{display:flex;flex-direction:column;gap:.85rem;margin-top:.95rem}.app--booting{position:relative}.app-shell--blurred{filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none}.boot-loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#faf7f047;pointer-events:all}.prayer-loader{display:flex;flex-direction:column;align-items:center;gap:.85rem;color:var(--accent)}.prayer-loader-icon{width:2.75rem;height:3.65rem;animation:prayerHandsPulse 1.6s ease-in-out infinite}.prayer-loader-cross{width:2.4rem;height:3.35rem;color:var(--accent)}.prayer-loader-label{font-family:var(--font-body);font-size:.84rem;font-weight:400;letter-spacing:.01em;text-transform:none;color:var(--text-muted);animation:prayerSayingIn .35s ease both}@keyframes prayerSayingIn{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}@keyframes prayerHandsPulse{0%,to{opacity:.45;transform:translateY(0) scale(1)}50%{opacity:1;transform:translateY(-.2rem) scale(1.04)}}.favorites-group-title{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary);margin:0 0 1.25rem}.favorites-group-empty{font-size:.82rem;line-height:1.6;color:var(--text-muted);margin:0}.side-nav{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:auto;padding:.75rem 1.25rem calc(.85rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;align-items:center;background:var(--bg);z-index:20}.side-nav-inner{width:100%;max-width:22rem;display:flex;justify-content:center}.side-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2.25rem;width:auto;background:none;border:none;border-radius:0;box-shadow:none}.side-nav-btn{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;padding:0;color:var(--text-muted);background:none;border:none;border-radius:.85rem;cursor:pointer;transition:color .15s,background .15s}.side-nav-icon{width:1.35rem;height:1.35rem;display:block}.side-nav-btn:hover{color:var(--accent);background:var(--accent-soft)}.side-nav-btn--active{color:var(--accent-deep);background:var(--accent-soft)}.side-nav-btn--active .side-nav-icon{color:var(--accent-deep)}.side-nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (min-width: 640px){.side-nav{top:0;right:auto;bottom:0;left:0;width:5.25rem;padding:7rem 1rem 1.5rem;background:transparent;box-shadow:none}.side-nav-inner{flex:1;align-items:flex-start;max-width:none}.side-nav-list{flex-direction:column;justify-content:flex-start;gap:.65rem;padding:0;background:none;border:none;border-radius:0;box-shadow:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 480px){.app-body{padding-top:max(29px,env(safe-area-inset-top,0px) + 16px);padding-left:max(1.25rem,24px)}.app-body--with-sidebar{padding-left:max(1.25rem,24px)}.header{margin-bottom:2.5rem}}.wallpaper-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:flex-start;justify-content:center;padding:max(1rem,env(safe-area-inset-top,0px)) 1rem max(1rem,env(safe-area-inset-bottom,0px));overflow-y:auto;background:#2e403647;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.wallpaper-modal-panel{width:min(100%,28rem);margin:auto;flex-shrink:0;padding:1.35rem 1.25rem 1.5rem;background:var(--bg);border:1px solid var(--line);border-radius:.35rem;box-shadow:0 18px 48px #2e40361f}.wallpaper-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.wallpaper-modal-title{margin:0;font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.wallpaper-modal-close{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;font-size:1.35rem;font-weight:300;line-height:1;color:var(--sage);background:none;border:none;border-radius:50%;cursor:pointer;transition:color .15s,background .15s}.wallpaper-modal-close:hover{color:var(--accent);background:var(--accent-soft)}.wallpaper-modal-lead{margin:0 0 1rem;font-size:.8rem;line-height:1.55;color:var(--text-muted)}.wallpaper-tabs{display:flex;gap:1.35rem;margin-bottom:.9rem;padding:0 .1rem}.wallpaper-tabs--version{margin-top:-.15rem;margin-bottom:.85rem}.wallpaper-tab{position:relative;flex:0 0 auto;padding:0 0 .6rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;border-radius:0;cursor:pointer;transition:color .15s}.wallpaper-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:transparent;border-radius:1px;transition:background .15s}.wallpaper-tab:hover{color:var(--text-secondary)}.wallpaper-tab--active{color:var(--accent-deep)}.wallpaper-tab--active:after{background:var(--accent)}.wallpaper-tab-panel{animation:wallpaperTabIn .2s ease}@keyframes wallpaperTabIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.digital-preview{display:flex;justify-content:center;align-items:center;min-height:15rem;padding:1.35rem .75rem}.digital-preview-screen{overflow:hidden;border-radius:.2rem;box-shadow:0 8px 24px #2e40361f}.digital-preview-art{transform-origin:top left}.wallpaper-save-btn{width:100%;white-space:nowrap}.wallpaper-options{display:flex;flex-direction:column;gap:.55rem;margin-bottom:.85rem}.wallpaper-option-row{display:flex;align-items:center;gap:.65rem}.wallpaper-option-label{flex:0 0 2.25rem;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:lowercase;color:var(--text-muted)}.wallpaper-option-chips{display:flex;flex:1;flex-wrap:wrap;gap:.35rem}.wallpaper-chip{padding:.32rem .62rem;font-family:var(--font-body);font-size:.68rem;font-weight:500;letter-spacing:.03em;text-transform:lowercase;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.wallpaper-chip:hover{color:var(--text-secondary);border-color:var(--sage-light)}.wallpaper-chip--active{color:var(--accent);background:var(--accent-soft);border-color:var(--sage)}.wallpaper-customize{margin-top:.85rem;margin-bottom:0;border-top:1px solid var(--line)}.wallpaper-customize-summary{padding:.75rem 0;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase;color:var(--text-muted);cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.wallpaper-customize-summary::-webkit-details-marker{display:none}.wallpaper-customize[open] .wallpaper-customize-summary{color:var(--text-secondary);margin-bottom:.65rem}.wallpaper-customize .wallpaper-editor{margin-bottom:0}.wallpaper-variant-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.wallpaper-variant-toggle+.wallpaper-variant-toggle{margin-top:-.5rem}.wallpaper-variant-btn{flex:1;padding:.45rem .75rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.wallpaper-variant-btn:hover{color:var(--text-secondary);border-color:var(--sage-light)}.wallpaper-variant-btn--active{color:var(--accent);background:var(--accent-soft);border-color:var(--sage)}.wallpaper-editor{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:.25rem}.wallpaper-editor-block{display:flex;flex-direction:column;gap:.45rem}.wallpaper-editor-label{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--text-secondary)}.wallpaper-line-editor{width:100%;min-height:7rem;padding:.65rem .75rem;font-family:var(--font-body);font-size:.78rem;line-height:1.55;color:var(--text-primary);background:var(--bg);border:1px solid var(--line);border-radius:.2rem;resize:vertical}.wallpaper-line-editor:focus{outline:none;border-color:var(--sage)}.wallpaper-editor-hint{margin:0;font-size:.68rem;line-height:1.45;color:var(--text-muted)}.wallpaper-spacing-fields{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:.55rem}.wallpaper-spacing-fields legend{margin-bottom:.15rem}.wallpaper-spacing-field{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.72rem;color:var(--text-muted);text-transform:lowercase}.wallpaper-spacing-field input{width:4.5rem;padding:.35rem .5rem;font-family:var(--font-body);font-size:.78rem;color:var(--text-primary);background:var(--bg);border:1px solid var(--line);border-radius:.2rem;text-align:right}.wallpaper-spacing-field input:focus{outline:none;border-color:var(--sage)}.wallpaper-reset-btn{align-self:flex-start;padding:0;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .15s}.wallpaper-reset-btn:hover{color:var(--accent)}.wallpaper-preview-wrap{display:flex;justify-content:center;margin-bottom:1rem}.wallpaper-preview-wrap--hero{margin-bottom:.85rem}.wallpaper-preview-wrap--hero .framed-print-scene{min-height:15rem;padding:1.15rem .75rem}.wallpaper-preview-wrap--loading{position:relative}.wallpaper-preview-wrap--loading .framed-print-preview,.wallpaper-preview-wrap--loading .digital-preview{opacity:.35;pointer-events:none}.wallpaper-preview-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;margin:0;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase;color:var(--text-muted)}.wallpaper-preview{flex-shrink:0;overflow:hidden;border-radius:.2rem;box-shadow:0 8px 28px #2e403624}.wallpaper-preview-inner{transform-origin:top left}.framed-print-preview{width:100%}.framed-print-scene{display:flex;align-items:center;justify-content:center;min-height:18rem;padding:1.5rem 1rem;border:1px solid var(--line);border-radius:.2rem;background:radial-gradient(ellipse at 50% 0%,rgba(255,252,247,.55),transparent 58%),linear-gradient(180deg,#e7e0d2,#d9d1c3)}.framed-print-frame{position:relative;box-sizing:border-box;border-radius:2px;box-shadow:0 1px #ffffff38 inset,0 14px 28px #2e403633,0 4px 10px #2e40361a}.framed-print-mat{height:100%;padding:12px;background:#f7f4ee;box-shadow:inset 0 0 0 1px #2e40360f}.framed-print-art{overflow:hidden;border-radius:1px;box-shadow:0 1px 3px #2e403614}.framed-print-art-inner{transform-origin:top left}.framed-print-caption{margin:.65rem 0 0;font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:lowercase;text-align:center;color:var(--text-muted)}.wallpaper-export-target{position:fixed;left:0;top:0;z-index:-1;opacity:0;pointer-events:none}.passage-wallpaper{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:96px 80px 160px;font-family:var(--font-body)}.passage-wallpaper--mobile{padding:96px 72px 160px}.passage-wallpaper--desktop{padding:80px 120px 140px}.passage-wallpaper--print{padding:72px 64px 96px}.passage-wallpaper--print-8x10{padding:80px 68px 100px}.passage-wallpaper--print-11x14{padding:72px 60px 92px}.passage-wallpaper--print .passage-wallpaper-line{font-size:30px;line-height:1.65;letter-spacing:.18em}.passage-wallpaper--print-11x14 .passage-wallpaper-line{font-size:28px;letter-spacing:.16em}.passage-wallpaper--print .passage-wallpaper-ref{font-size:18px;letter-spacing:.2em}.passage-wallpaper--print .passage-wallpaper-wordmark{font-size:18px}.passage-wallpaper--print .passage-wallpaper-content{max-width:88%}.passage-wallpaper-brand{position:absolute;right:0;top:100%;display:flex;flex-direction:row;align-items:center;gap:12px;margin-top:var(--wallpaper-logo-gap, 256px)}.passage-wallpaper--desktop .passage-wallpaper-brand{gap:14px}.passage-wallpaper-logo{display:block;flex-shrink:0;filter:brightness(0) saturate(100%) invert(32%) sepia(18%) saturate(742%) hue-rotate(106deg) brightness(92%) contrast(88%)}.passage-wallpaper--mono .passage-wallpaper-logo{filter:brightness(0)}.passage-wallpaper-wordmark{font-size:22px;font-weight:600;letter-spacing:.12em;text-transform:lowercase;color:var(--wallpaper-accent)}.passage-wallpaper--desktop .passage-wallpaper-wordmark{font-size:26px}.passage-wallpaper-body{display:flex;justify-content:center;width:100%}.passage-wallpaper-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:82%}.passage-wallpaper-quote{display:flex;flex-direction:column;align-items:flex-start}.passage-wallpaper-verse{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--wallpaper-line-gap, 20px)}.passage-wallpaper-line{margin:0;font-size:36px;font-weight:500;line-height:1.75;letter-spacing:.2em;text-transform:uppercase;text-align:left}.passage-wallpaper--desktop .passage-wallpaper-line{font-size:44px;line-height:1.7;letter-spacing:.18em}.passage-wallpaper--desktop .passage-wallpaper-content{max-width:68%}.passage-wallpaper-ref{margin:var(--wallpaper-reference-gap, 72px) 0 0;font-size:22px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;text-align:left;color:var(--wallpaper-reference)}.passage-wallpaper--desktop .passage-wallpaper-ref{font-size:26px}.wallpaper-modal-actions{display:flex;justify-content:flex-end}.wallpaper-modal-actions--stacked{flex-direction:column;align-items:stretch;gap:.55rem;width:100%}.wallpaper-modal-actions--split{flex-direction:column;align-items:stretch;gap:.55rem}.wallpaper-save-link{padding:0;font-family:var(--font-body);font-size:.68rem;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--text-muted);background:none;border:none;cursor:pointer;text-align:center;transition:color .15s}.wallpaper-save-link:hover:not(:disabled){color:var(--accent)}.wallpaper-save-link:disabled{opacity:.6;cursor:wait}.wallpaper-order-btn{width:100%;padding:.55rem 1rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.06em;text-transform:lowercase;color:var(--text-muted);background:var(--surface);border:1px solid var(--line);border-radius:.2rem;cursor:not-allowed;opacity:.85}.wallpaper-order-form{display:flex;flex-direction:column;gap:.55rem;width:100%}.wallpaper-checkout{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.wallpaper-checkout-title{margin:0 0 .65rem;font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:lowercase;color:var(--text-muted)}.wallpaper-order-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.wallpaper-order-field{display:flex;flex-direction:column;gap:.25rem;font-size:.68rem;color:var(--text-muted);text-transform:lowercase}.wallpaper-order-field input{width:100%;box-sizing:border-box;padding:.45rem .55rem;font-family:var(--font-body);font-size:.78rem;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:.2rem}.wallpaper-order-hint{margin:0 0 .5rem;font-size:.68rem;line-height:1.45;color:var(--text-muted);text-align:center;text-transform:lowercase}.wallpaper-order-hint code{font-family:ui-monospace,monospace;font-size:.65rem}.order-notice{margin:0;padding:.65rem 1rem;font-size:.78rem;text-align:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-bottom:1px solid var(--line);text-transform:lowercase}.wallpaper-modal-status{margin:.85rem 0 0;font-size:.72rem;line-height:1.5;color:var(--text-muted);text-align:center;text-transform:lowercase}
