:root{
  --bg:#f7f1e8; --surface:#fffaf3; --surface-2:#efe4d7; --text:#392f2a; --muted:#786b62;
  --line:#dbcaba; --accent:#795a47; --accent-2:#a05f63; --blue:#536b77; --shadow:0 18px 55px rgba(67,45,31,.12);
  --radius:26px; --safe: max(18px, env(safe-area-inset-bottom));
}
html[data-theme="dark"]{
  --bg:#1d1b1a; --surface:#272321; --surface-2:#332c28; --text:#f7efe6; --muted:#c4b5a9;
  --line:#493e36; --accent:#d0a783; --accent-2:#c9878a; --blue:#8aa6b4; --shadow:0 20px 55px rgba(0,0,0,.35);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:radial-gradient(circle at 50% -20%,rgba(160,95,99,.12),transparent 32%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,input,textarea{font:inherit}.app-shell{min-height:100vh;padding-bottom:96px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:38px;height:38px;border-radius:14px;background:linear-gradient(145deg,var(--surface),var(--surface-2));display:grid;place-items:center;border:1px solid var(--line);box-shadow:var(--shadow)}.brand-mark svg{width:22px}.brand-copy{min-width:0}.brand-copy strong{display:block;font-family:Georgia,serif;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-copy small{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);height:38px;padding:0 12px;border-radius:14px;cursor:pointer}.content{width:min(760px,100%);margin:0 auto;padding:22px 16px 40px}.hero{padding:28px 22px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(165deg,color-mix(in srgb,var(--surface) 95%,#fff),color-mix(in srgb,var(--surface-2) 72%,var(--surface)));box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:-40% auto auto 55%;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,rgba(160,95,99,.18),transparent 65%)}
.eyebrow{color:var(--accent-2);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.hero h1,.section-title{font-family:Georgia,serif;font-weight:500;line-height:1.08;margin:10px 0}.hero h1{font-size:clamp(36px,8vw,56px)}.hero p,.lead{line-height:1.68;color:var(--muted);font-size:16px}.cross{font-family:Georgia,serif;font-size:28px;color:var(--accent);margin:18px 0 6px}.field{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:16px 17px;border-radius:16px;outline:none}.field:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}textarea.field{min-height:118px;resize:vertical}.btn{border:none;border-radius:16px;padding:15px 18px;font-weight:800;cursor:pointer;transition:.2s transform,.2s opacity,.2s background}.btn:active{transform:scale(.985)}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}.btn-ghost{background:transparent;color:var(--muted)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.btn-row .btn{flex:1;min-width:145px}.stack{display:grid;gap:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:18px;box-shadow:0 8px 28px rgba(60,42,30,.05);transition:.2s transform,.2s border-color}.card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.card .icon{font-size:25px;margin-bottom:10px}.card h3{font-family:Georgia,serif;margin:0 0 6px;font-size:20px}.card p{margin:0;color:var(--muted);line-height:1.5;font-size:14px}.section-title{font-size:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:28px 2px 14px}.section-head p{margin:0;color:var(--muted);font-size:13px}.quote{border-left:3px solid var(--accent-2);padding:14px 0 14px 18px;margin:18px 0;color:var(--muted);font-family:Georgia,serif;font-size:20px;line-height:1.5}.prayer{white-space:pre-line;line-height:1.82;font-family:Georgia,serif;font-size:18px}.day-list{display:grid;gap:10px}.day-item{display:flex;align-items:center;gap:13px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface);text-decoration:none;color:inherit}.day-badge{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:900}.day-item.done .day-badge{background:color-mix(in srgb,var(--blue) 20%,var(--surface-2));color:var(--blue)}.day-item strong{display:block}.day-item small{color:var(--muted)}.progress{height:9px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));border-radius:inherit}.note{padding:14px 15px;border-radius:16px;background:color-mix(in srgb,var(--blue) 10%,var(--surface));border:1px solid color-mix(in srgb,var(--blue) 28%,var(--line));color:var(--muted);line-height:1.5}.counter{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 18px}.counter-ring{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;border:9px solid var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);position:relative}.counter-ring:after{content:"";position:absolute;inset:8px;border:1px dashed var(--line);border-radius:50%}.counter-value{font-family:Georgia,serif;font-size:58px;z-index:1}.counter small{color:var(--muted)}.mural-item{padding:16px;border-bottom:1px solid var(--line)}.mural-item:last-child{border-bottom:0}.mural-item strong{font-family:Georgia,serif}.mural-item p{color:var(--muted);margin:6px 0 0;line-height:1.55}.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:12px;color:var(--muted)}
.bottom-nav{position:fixed;z-index:30;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(720px,calc(100% - 18px));padding:8px;display:grid;grid-template-columns:repeat(7,1fr);gap:4px;border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.nav-link{display:grid;place-items:center;gap:2px;min-height:52px;border-radius:15px;text-decoration:none;color:var(--muted);font-size:9px;font-weight:800;text-align:center}.nav-link .nav-ico{font-size:19px}.nav-link.active{background:var(--surface-2);color:var(--accent)}.ornament{display:flex;align-items:center;gap:10px;color:var(--line);margin:20px 0}.ornament:before,.ornament:after{content:"";height:1px;flex:1;background:var(--line)}.mini-knot{width:16px;height:16px;border:2px solid var(--accent-2);border-radius:50% 50% 50% 0;transform:rotate(45deg)}.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;color:var(--muted);text-decoration:none;font-size:14px}.empty{text-align:center;padding:28px;color:var(--muted)}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%) translateY(10px);z-index:60;background:var(--text);color:var(--bg);padding:11px 16px;border-radius:14px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:620px){.grid{grid-template-columns:1fr}.content{padding-top:14px}.hero{padding:24px 18px}.bottom-nav{overflow-x:auto;display:flex;justify-content:space-between}.nav-link{min-width:62px;flex:1}.brand-copy small{display:none}.hero h1{font-size:42px}}
