:root{--art:none;--bg:#f8f1e3;--surface:#fffaf0;--text:#3b2f22;--muted:#8a7a64;--accent:#9a6b2f;--accent-text:#fff;--pattern:none;--fs:18px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%}body{font-family:Inter,system-ui,sans-serif;font-size:var(--fs);line-height:1.55;color:var(--text);background:var(--bg) fixed}.app{min-height:100dvh;background-image:var(--art),var(--pattern);background-position:var(--artpos, center bottom),0 0;background-size:cover,auto;background-repeat:no-repeat,repeat;background-attachment:fixed,scroll;max-width:560px;margin:0 auto}main{padding:calc(20px + env(safe-area-inset-top)) 18px 110px}h1{font-family:Cormorant Garamond,serif;font-size:2.1em;font-weight:600;line-height:1.1;margin:.2em 0 .4em}h3{margin:1em 0 .3em;font-size:1em}.eyebrow{font-size:.72em;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.muted{color:var(--muted)}.center{text-align:center;margin-top:2em}.card{background:var(--surface);border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 4px 18px #00000014}.verse blockquote{font-family:Cormorant Garamond,serif;font-size:1.55em;font-style:italic;margin:.5em 0;line-height:1.3}cite{color:var(--accent);font-style:normal;font-weight:600;display:block;margin-bottom:14px}.passage{border-left:4px solid var(--accent)}.passage p{margin:.2em 0 0;font-family:Cormorant Garamond,serif;font-size:1.15em}.btn{display:inline-block;background:var(--accent);color:var(--accent-text);border:0;border-radius:14px;padding:14px 20px;font:inherit;font-weight:600;font-size:.92em;text-decoration:none;cursor:pointer;min-height:48px}.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn.danger{color:#b3382c;border-color:#b3382c}.link{background:none;border:0;color:var(--muted);text-decoration:underline;font:inherit;font-size:.85em;display:block;margin:18px auto;cursor:pointer}input,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface);border:1.5px solid color-mix(in srgb,var(--muted) 35%,transparent);border-radius:14px;padding:13px 14px;margin:6px 0 14px;resize:vertical}input[type=range]{padding:0;accent-color:var(--accent)}label{font-size:.8em;color:var(--muted);font-weight:500}.row{display:flex;gap:10px;margin-top:12px}.row .btn{flex:1;text-align:center}.between{justify-content:space-between;align-items:center;margin:0}.progress{display:flex;gap:6px;margin-bottom:12px}.progress i{flex:1;height:4px;border-radius:4px;background:color-mix(in srgb,var(--muted) 30%,transparent)}.progress i.on{background:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font:inherit;font-size:.85em;border:1.5px solid color-mix(in srgb,var(--muted) 40%,transparent);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 14px;cursor:pointer}.chip.on{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.stepline{padding:6px 0}.timer{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.timer span{font-family:Cormorant Garamond,serif;font-size:2.4em}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.quote{font-style:italic}.star{background:none;border:0;font-size:1.5em;color:var(--accent);cursor:pointer;padding:4px 8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.swatch{height:96px;border-radius:16px;border:2px solid transparent;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:12px;font:inherit;font-weight:600;font-size:.85em;cursor:pointer;box-shadow:0 3px 10px #0000001f}.swatch i{width:22px;height:22px;border-radius:50%}.swatch.on{border-color:var(--accent);outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent)}nav{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:space-around;max-width:560px;margin:0 auto;background:var(--surface);padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0000001a;border-radius:22px 22px 0 0}nav button{flex:1;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;font-size:.62em;font-weight:600;padding:6px;cursor:pointer;min-height:52px}nav button.on{color:var(--accent)}.brand{font-family:Cormorant Garamond,serif;font-size:1.2em;font-weight:600;color:var(--accent);margin:0 0 6px;letter-spacing:.04em}.small{font-size:.8em;margin:0}.switch{display:flex;align-items:center;gap:12px;font-size:1em;color:var(--text)}.switch input{width:22px;height:22px;margin:0;accent-color:var(--accent)}.chat{display:flex;flex-direction:column;gap:10px;margin:14px 0 90px}.bubble{max-width:88%;padding:12px 14px;border-radius:16px;white-space:pre-wrap;font-size:.95em}.bubble.user{align-self:flex-end;background:var(--accent);color:var(--accent-text);border-bottom-right-radius:4px}.bubble.assistant{align-self:flex-start;background:var(--surface);border-bottom-left-radius:4px;box-shadow:0 2px 10px #0000000f}.ask{position:fixed;left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto;display:flex;gap:8px;padding:8px 12px;background:var(--surface)}.ask input{margin:0;flex:1}.ask .btn{min-height:0;padding:0 16px}.btn:disabled{opacity:.5}.legal{padding-bottom:60px}.legal h3{margin-top:1.4em}.legal p{margin:.5em 0}.login{min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;text-align:center;padding-top:calc(60px + env(safe-area-inset-top));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.login-top{color:var(--accent)}.login-top h1{font-size:3em;margin:.2em 0;color:var(--text)}.login-top .muted{max-width:22em;margin:0 auto;font-size:.95em}.btn.google{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#3c4043;border:1px solid #dadce0;font-size:1em}.reading{white-space:pre-wrap;font-family:Cormorant Garamond,serif;font-size:1.18em;line-height:1.5;margin:.6em 0 1em}.refrao{font-weight:600;color:var(--accent);margin:.6em 0 0}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:6px;border:1px solid rgba(0,0,0,.2);vertical-align:-1px}.tile{display:flex;gap:14px;align-items:center;width:100%;text-align:left;background:var(--surface);color:var(--text);border:0;border-radius:18px;padding:16px;margin:10px 0;font:inherit;box-shadow:0 4px 18px #00000014;cursor:pointer}.tile-ico{font-size:1.8em;width:1.6em;text-align:center}.lock{font-size:.8em}.prayer{font-family:Cormorant Garamond,serif;font-size:1.2em;line-height:1.5;margin:.3em 0 .8em}.prayer.small{font-size:1.05em}.beads{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 4px}.beads i{width:22px;height:22px;border-radius:50%;border:2px solid var(--accent)}.beads i.on{background:var(--accent)}.check{align-items:flex-start;padding:8px 0;font-size:.95em}.check input{margin-top:4px;flex:none}.ticks{list-style:none;padding:0;margin:10px 0 0}.ticks li{padding:6px 0 6px 26px;position:relative;font-size:.92em}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--muted);font-weight:700}.ticks.gold li:before{color:var(--accent)}.plan-plus{border:2px solid var(--accent)}.locked{border:1.5px dashed var(--accent);text-align:left}details summary{cursor:pointer;margin:.4em 0}.row.wrap{flex-wrap:wrap}.landing{padding-top:calc(36px + env(safe-area-inset-top));padding-bottom:calc(50px + env(safe-area-inset-bottom))}.hero{text-align:center;color:var(--accent);padding:12px 0 18px}.hero h1{font-size:3em;margin:.1em 0;color:var(--text)}.hero .lead{font-family:Cormorant Garamond,serif;font-size:1.5em;line-height:1.25;color:var(--text);margin:.2em 0 .6em}.hero .muted{max-width:24em;margin:0 auto 1.2em;font-size:.95em}.landing h2{font-family:Cormorant Garamond,serif;font-size:1.6em;margin:1.6em 0 .3em}.feat{list-style:none;padding:0;margin:0}.feat li{background:var(--surface);border-radius:16px;padding:14px 16px;margin:10px 0;box-shadow:0 3px 12px #0000000f}.feat li span{display:block;color:var(--muted);font-size:.88em;margin-top:2px}.landing ol{margin:.5em 0 0;padding-left:1.2em;font-size:.92em}.landing ol li{margin:.3em 0}.landing details{background:var(--surface);border-radius:14px;padding:4px 14px;margin:8px 0}.landing details p{margin:.2em 0 .8em;font-size:.92em}.end{margin-top:28px}.tile>span:last-child{flex:1;min-width:0}.tile-ico{flex:none;width:2em}
