:root{--ivory: #faf7f0;--cream: #f3ede1;--cream-2: #ece3d2;--champagne: #e8d9b5;--gold: #b8945a;--gold-deep: #9a7a43;--cocoa: #3a2f25;--muted: #7a6c5d;--line: #e4d9c6;--white: #fffdf9;--danger: #a4493d;--ok: #5f7a4e;--serif: "Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius: 22px;--shadow: 0 10px 30px -12px rgba(90, 64, 30, .25), 0 2px 6px -2px rgba(90, 64, 30, .08);--text-scale: 1;--nav-h: 68px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ivory);color:var(--cocoa);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;letter-spacing:.005em}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:8px}.app{max-width:520px;margin:0 auto;min-height:100vh;position:relative;padding-bottom:calc(var(--nav-h) + 24px + env(safe-area-inset-bottom))}.page{padding:18px 20px 12px;animation:fade .45s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 20px 0}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:22px;font-weight:600;text-decoration:none}.brand .mark{width:30px;height:30px}.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:grid;place-items:center}.icon-btn svg{width:20px;height:20px}.back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);padding:6px 0;font-size:15px}.greeting{margin:18px 0 4px}.greeting h1{font-size:34px;line-height:1.1}.greeting p{margin:6px 0 0;color:var(--muted);font-size:14.5px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;color:var(--gold-deep);font-weight:600}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:28px 0 12px}.section-title h2{font-size:24px}.section-title a,.link{color:var(--gold-deep);font-size:14px;text-decoration:none;font-weight:500;background:none;border:0;padding:0}.muted{color:var(--muted)}.small{font-size:13px}.card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--cream);isolation:isolate}.card:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(184,148,90,.45);border-radius:calc(var(--radius) - 8px);pointer-events:none;z-index:2}.card .bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background-size:cover;background-position:center}.card .bg.photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#faf7f0cc,#faf7f0e6)}.card.dark .bg.photo:after{background:linear-gradient(180deg,#1914169e,#191416c7)}.card-inner{padding:34px 30px 30px;position:relative;z-index:3}.card .date{text-align:center}.card .flourish{display:block;margin:10px auto 12px;width:120px;height:14px;color:var(--gold)}.card h2.title{text-align:center;font-size:calc(30px * var(--text-scale));line-height:1.15}.prayer-body{font-family:var(--serif);font-size:calc(21px * var(--text-scale));line-height:1.6;margin-top:18px}.prayer-body p{margin:0 0 14px}.prayer-body .s{transition:background-color .3s ease;border-radius:4px}.prayer-body .s.on{background:#e8d9b5bf;box-shadow:0 0 0 3px #e8d9b5bf}.card.dark .prayer-body .s.on{background:#b8945a59;box-shadow:0 0 0 3px #b8945a59}.divider{display:flex;align-items:center;gap:12px;color:var(--gold);margin:18px 0 14px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:currentColor;opacity:.55}.verse{text-align:center;font-family:var(--serif);font-style:italic;font-size:calc(19px * var(--text-scale));line-height:1.5}.verse .ref{display:block;margin-top:8px;font-style:normal;font-family:var(--sans);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}.card.dark{color:#f6eee1}.card.dark .verse .ref,.card.dark .eyebrow{color:#e3c993}.card-note{margin-top:16px;font-size:13px;color:var(--muted);text-align:center;line-height:1.5}.card.dark .card-note{color:#d8cbb8}.card.preview .card-inner{padding:26px 24px 22px}.card.preview h2.title{font-size:27px}.card.preview .excerpt{font-family:var(--serif);font-size:19px;line-height:1.5;margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.card-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px;flex-wrap:wrap}.t-dawn{background:radial-gradient(120% 70% at 50% 0%,#fff4df,#fff4df00 60%),linear-gradient(165deg,#fbe7cc,#f4d8b6 42%,#efe3d1)}.t-linen{background:radial-gradient(90% 60% at 20% 0%,#fffaf0,#fffaf000 70%),repeating-linear-gradient(45deg,rgba(160,130,90,.025) 0 2px,transparent 2px 6px),linear-gradient(170deg,#f8f2e7,#efe6d6)}.t-water{background:radial-gradient(100% 60% at 50% 0%,#f7fbfb,#f7fbfb00 70%),linear-gradient(175deg,#e3eded,#d3e2e4 45%,#f2eee5)}.t-olive{background:radial-gradient(100% 60% at 80% 0%,#f9faf1,#f9faf100 65%),linear-gradient(165deg,#ecefdf,#dee3c9 45%,#f4f0e4)}.t-evening{background:radial-gradient(90% 55% at 50% 0%,#e3c99338,#e3c99300 70%),linear-gradient(170deg,#2b2631,#3a3040,#4a3b39)}.t-rose{background:radial-gradient(100% 60% at 50% 0%,#fff7f3,#fff7f300 65%),linear-gradient(165deg,#f8e6e1,#f0d6cf 45%,#f7efe7)}.t-sky{background:radial-gradient(100% 60% at 50% 0%,#fbfdff,#fbfdff00 65%),linear-gradient(175deg,#e8eff8,#dbe5f1 45%,#f5f1e9)}.t-gold{background:radial-gradient(100% 60% at 50% 0%,#fff8e7,#fff8e700 65%),linear-gradient(165deg,#f6e8cb,#ead6a8 45%,#f6eedb)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:46px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-weight:500;font-size:15px;text-decoration:none}.btn svg{width:18px;height:18px}.btn.gold{background:linear-gradient(180deg,#c6a46a,var(--gold));border-color:var(--gold-deep);color:#fffaf0;box-shadow:0 6px 16px -6px #9a7a4399}.btn.ghost{background:transparent}.btn.small{height:36px;padding:0 14px;font-size:13.5px}.btn.block{width:100%}.btn.danger{color:var(--danger)}.btn:disabled{opacity:.5;cursor:default}.card.dark .btn{background:#ffffff14;border-color:#ffffff2e;color:#f6eee1}.card.dark .btn.gold{background:linear-gradient(180deg,#d4b47a,#b8945a);color:#241d17}.play-btn{width:64px;height:64px;border-radius:50%;border:0;background:linear-gradient(180deg,#c9a86e,var(--gold));color:#fffaf0;display:grid;place-items:center;box-shadow:0 10px 22px -8px #9a7a43bf;flex:none}.play-btn svg{width:26px;height:26px}.play-btn.sm{width:48px;height:48px}.play-btn.sm svg{width:20px;height:20px}.round{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--white);display:grid;place-items:center}.round svg{width:20px;height:20px}.round.on{color:var(--gold-deep);border-color:var(--champagne);background:#fbf4e6}.card.dark .round{background:#ffffff14;border-color:#ffffff2e;color:#f6eee1}.card.dark .round.on{color:#e3c993}.player{margin-top:18px;background:var(--white);border:1px solid var(--line);border-radius:20px;padding:16px}.player-row{display:flex;align-items:center;gap:14px}.player .meta{flex:1;min-width:0}.player .meta strong{display:block;font-family:var(--serif);font-size:19px}.progress{height:4px;background:var(--cream-2);border-radius:4px;overflow:hidden;margin-top:8px}.progress>i{display:block;height:100%;background:var(--gold);width:0;transition:width .4s linear}.seg{display:inline-flex;background:var(--cream);border-radius:999px;padding:3px;gap:2px}.seg button{border:0;background:transparent;padding:6px 12px;border-radius:999px;font-size:13px;color:var(--muted)}.seg button.on{background:var(--white);color:var(--cocoa);box-shadow:0 1px 4px #00000014;font-weight:600}.player-opts{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:14px}.mini-player{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 12px + env(safe-area-inset-bottom));width:min(496px,calc(100% - 24px));background:#fffdf9f7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:18px;padding:10px 12px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow);z-index:40}.mini-player .meta{flex:1;min-width:0}.mini-player .meta strong{display:block;font-family:var(--serif);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:520px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#faf7f0f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:50}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11.5px;color:var(--muted);text-decoration:none}.nav a svg{width:23px;height:23px}.nav a.active{color:var(--gold-deep);font-weight:600}.chips{display:flex;gap:10px;overflow-x:auto;padding:2px 20px 6px;margin:0 -20px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-size:14px;text-decoration:none;white-space:nowrap}.chip .ic{color:var(--gold)}.chip.on{background:var(--cocoa);color:var(--ivory);border-color:var(--cocoa)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border-radius:18px;padding:16px;background:var(--white);border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;gap:8px;min-height:104px}.tile .ic{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#f8efdc;color:var(--gold-deep)}.tile .ic svg{width:19px;height:19px}.tile strong{font-family:var(--serif);font-size:20px}.tile span{font-size:13px;color:var(--muted)}.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cat{position:relative;border-radius:18px;padding:16px 14px;min-height:118px;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border:1px solid rgba(184,148,90,.25)}.cat .ic{position:absolute;top:12px;right:14px;font-size:22px;color:var(--gold)}.cat strong{font-family:var(--serif);font-size:19px;line-height:1.15}.cat span{font-size:12px;color:var(--muted);margin-top:4px}.cat.t-evening{color:#f6eee1}.cat.t-evening span{color:#d8cbb8}.cat.t-evening .ic{color:#e3c993}.list{display:flex;flex-direction:column;gap:12px}.row{display:flex;gap:14px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--white);border:1px solid var(--line);text-decoration:none;text-align:left;width:100%}.row .sw{width:52px;height:64px;border-radius:10px;flex:none;border:1px solid rgba(184,148,90,.3);display:grid;place-items:center;color:var(--gold);font-size:18px}.row .txt{flex:1;min-width:0}.row .txt strong{display:block;font-family:var(--serif);font-size:19px;line-height:1.2}.row .txt span{display:block;color:var(--muted);font-size:13px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex:none}.scripture{border-radius:var(--radius);padding:24px 22px;background:var(--white);border:1px solid var(--line);text-align:center;position:relative}.scripture .q{font-family:var(--serif);font-size:22px;line-height:1.45;font-style:italic;margin:10px 0 0}.scripture .ref{display:block;margin-top:10px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-deep)}.banner{border-radius:18px;background:#f8efdc;border:1px solid var(--champagne);padding:14px 16px;margin-top:16px}.banner strong{font-family:var(--serif);font-size:19px;display:block}.banner p{margin:4px 0 0;font-size:14px;color:var(--muted)}.week{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:18px;background:var(--white);border:1px solid var(--line);margin-top:16px}.week .days{display:flex;gap:6px}.week .d{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--muted);border:1px solid var(--line)}.week .d.on{background:var(--champagne);border-color:var(--gold);color:var(--cocoa);font-weight:600}.week .d.today{box-shadow:0 0 0 2px var(--ivory),0 0 0 3px var(--gold)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label,.label{font-size:13px;font-weight:600;color:var(--muted)}.input,.textarea,.select{width:100%;border:1px solid var(--line);background:var(--white);border-radius:14px;padding:12px 14px;font-size:16px}.textarea{min-height:180px;resize:vertical;font-family:var(--serif);font-size:19px;line-height:1.55}.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}.search .input{padding-left:42px;border-radius:999px}.toggle{position:relative;width:50px;height:30px;border-radius:999px;background:var(--cream-2);border:0;flex:none;transition:background .2s}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s}.toggle.on{background:var(--gold)}.toggle.on:after{transform:translate(20px)}.setting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.setting:last-child{border-bottom:0}.setting .txt strong{display:block;font-weight:500}.setting .txt span{display:block;font-size:13px;color:var(--muted);margin-top:2px}.panel{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:4px 16px}.panel+.panel{margin-top:14px}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--cream);font-size:12px;color:var(--muted)}.tag.gold{background:#f8efdc;color:var(--gold-deep)}.tag.ok{background:#e9f0e2;color:var(--ok)}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.empty h3{color:var(--cocoa);font-size:24px;margin-bottom:6px}.empty svg{width:44px;height:44px;color:var(--gold);margin-bottom:10px}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#281e1459;z-index:120;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s}.sheet{width:100%;max-width:520px;background:var(--ivory);border-radius:26px 26px 0 0;padding:18px 20px calc(20px + env(safe-area-inset-bottom));max-height:88vh;overflow:auto}.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}.share-grid button{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;font-size:12.5px;color:var(--muted)}.share-grid .round{width:54px;height:54px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 90px);background:var(--cocoa);color:var(--ivory);padding:10px 18px;border-radius:999px;font-size:14px;z-index:100;animation:fade .25s}.onboard{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:40px 28px;text-align:center}.onboard .mark{width:72px;height:72px;margin:0 auto 18px}.onboard h1{font-size:42px}.onboard p{color:var(--muted);line-height:1.6}.pin{display:flex;gap:10px;justify-content:center;margin:18px 0}.pin input{width:48px;height:56px;text-align:center;font-size:24px;border-radius:14px;border:1px solid var(--line);background:var(--white)}.prose{line-height:1.65;font-size:15.5px}.prose h2{font-size:26px;margin:18px 0 8px}.prose h3{font-size:21px;margin:18px 0 6px}
