@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap');
:root{--primary:#0b4344;--secondary:#b6854c;--cream:#faf7ee;--ink:#1b3738;--sub:#627476;--card:#fffdf7;--gold:#ebcb85;--shadow:0 12px 35px rgba(10,54,51,.09)}*{box-sizing:border-box}body{margin:0;background:#dfe7e2;color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--secondary);outline-offset:3px}a{color:inherit}.app-shell{margin:auto;max-width:440px;min-height:100dvh;position:relative;background:var(--cream);box-shadow:0 0 55px rgba(0,0,0,.12);overflow:hidden}.screen{display:none;height:100dvh;min-height:640px}.screen.active{display:flex;flex-direction:column}.home-screen{position:relative;background:radial-gradient(circle at 50% 46%,#176362 0%,#0d4949 41%,#092f36 78%,#082831 100%);color:#fff;overflow:hidden}.home-screen:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#ffe4ac 0.75px,transparent 1px);background-size:39px 47px;opacity:.14;pointer-events:none}.snowflake{position:absolute;color:#efd29d;opacity:.5;z-index:1}.s1{left:10%;top:18%;font-size:24px}.s2{right:12%;top:29%;font-size:14px}.s3{left:15%;top:62%;font-size:15px}.s4{right:19%;top:73%;font-size:21px}.home-header{z-index:2;display:flex;justify-content:center;align-items:center;gap:10px;padding:29px 20px 4px;font-size:12px;letter-spacing:.04em;font-weight:700}.brand-emblem{display:grid;place-items:center;border:1px solid #e8d095;border-radius:50%;width:31px;height:31px;color:#fce5a7}.hero-center{z-index:2;text-align:center;display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;padding:12px 24px 0}.eyebrow{letter-spacing:.25em;font-size:10px;color:#d4c89e;font-weight:700;margin-top:4px}.hero-center h1{font:500 clamp(33px,8vw,43px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.02em;max-width:350px;margin:12px 0;color:#fff3d3}.hero-center p{margin:0;color:#e4ece2;font-size:13px;line-height:1.55;max-width:260px}.tree-art{width:min(90%,308px);max-height:min(37vh,328px);filter:drop-shadow(0 0 18px rgba(247,199,106,.22));margin:-4px 0 0}.hero-center .hero-citation{font-family:Georgia,serif;font-style:italic;color:#eed9a8;font-size:13px;margin-top:-9px}.home-footer{z-index:2;text-align:center;padding:10px 30px max(27px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:11px}.btn{border:0;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 20px;text-decoration:none;font-weight:700;font-size:13px;min-height:44px}.btn.gold{background:linear-gradient(130deg,#fae8ba,#ddb674);color:#294c4a;box-shadow:0 8px 22px rgba(8,20,18,.15)}.btn.large{font-size:15px;padding:16px}.text-button{border:none;background:transparent;color:#e4d1a9;text-decoration:underline;text-underline-offset:4px;font-size:12px}.home-caption{font-size:10px;color:#b7cfca;letter-spacing:.04em;margin:4px 0 0}.inner-header{background:var(--primary);color:white;padding:24px 18px 18px;display:flex;align-items:center;gap:13px;border-radius:0 0 25px 25px;box-shadow:0 3px 15px rgba(0,0,0,.08);flex:none}.inner-header small{font-size:10px;letter-spacing:.15em;color:#d0d9c5;font-weight:700}.inner-header h2{margin:1px 0 0;font:500 26px/1.13 'Playfair Display',Georgia,serif}.back-btn,.icon-btn{width:37px;height:37px;border:1px solid #ffffff58;background:#ffffff16;color:white;border-radius:50%;font-size:20px;display:grid;place-items:center;flex:none}.icon-btn{margin-left:auto;font-size:19px}.content-screen{background:var(--cream)}.content-scroll{flex:1;overflow:auto;padding:20px 21px 100px;overscroll-behavior:contain}.welcome-card{background:#e7eee8;border:1px solid #e2e8dc;border-radius:17px;padding:18px 16px;display:flex;gap:14px;align-items:center}.welcome-star{color:#ae8250;font-size:30px}.welcome-card h3{font:600 20px 'Playfair Display',Georgia,serif;margin:0 0 4px}.welcome-card p{font-size:12px;line-height:1.55;color:var(--sub);margin:0}.progress-line{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:24px 0}.progress-line strong{font-size:12px;display:block}.progress-line small{color:var(--sub);font-size:11px}.track{height:8px;border-radius:10px;background:#e5e8dc;flex:1;max-width:135px;overflow:hidden}.fill{height:100%;background:var(--secondary);width:0;transition:width .3s}.section-label{display:flex;justify-content:space-between;margin:20px 0 12px;font-size:10px;letter-spacing:.11em;color:var(--sub);font-weight:700}.days-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.day-card{background:var(--card);box-shadow:var(--shadow);border:1px solid #e9e6d9;border-radius:15px;text-align:left;padding:15px 12px;min-height:121px;display:flex;flex-direction:column;align-items:flex-start;color:var(--ink);position:relative}.day-card .day-number{font:500 27px 'Playfair Display',Georgia,serif;color:var(--primary)}.day-card .day-date{font-size:10px;color:var(--secondary);font-weight:700;margin:5px 0}.day-card .day-title{font-size:11px;line-height:1.3;font-weight:600}.day-card.completed{background:#f1f5eb;border-color:#b0c3a7}.day-card .check{position:absolute;right:9px;top:9px;background:#c9debc;color:#315c3e;border-radius:50%;font-size:10px;width:18px;height:18px;display:grid;place-items:center}.block-heading{font:600 22px 'Playfair Display',Georgia,serif;margin:29px 0 12px}.prayer-menu{display:grid;grid-template-columns:1fr 1fr;gap:10px}.prayer-item{display:flex;align-items:center;gap:9px;border:1px solid #e4e3d7;background:#fff;border-radius:13px;min-height:57px;padding:9px;text-align:left;font-size:11px;font-weight:700;color:var(--ink)}.prayer-glyph{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f0e8;font-size:18px;color:var(--primary)}.mini-community{margin:22px 0 0;border-radius:16px;background:#e8e0ce;padding:13px;display:flex;align-items:center;gap:10px}.mini-icon{border-radius:12px;background:#fff7e8;width:38px;height:38px;display:grid;place-items:center;font-size:22px;color:#896c47;flex:none}.mini-community strong{font-size:12px}.mini-community p{margin:3px 0 0;font-size:10px;color:#766c5d;line-height:1.35}.small-link{border:none;background:transparent;font-size:11px;font-weight:700;white-space:nowrap;color:var(--primary)}.bottom-nav{position:absolute;bottom:0;left:0;right:0;height:76px;padding:10px 10px max(10px,env(safe-area-inset-bottom));background:#fffefa;border-top:1px solid #e7e6db;display:none;justify-content:space-around;z-index:6}.app-shell:has(.content-screen.active) .bottom-nav{display:flex}.bottom-nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:5px;color:#768381;font-size:10px;font-weight:600;min-width:65px}.bottom-nav span{font-size:22px;color:var(--primary)}.reading-scroll{padding:0 22px 115px}.reader-hero{margin:20px 0 0;padding:20px 18px 22px;background:#e4eae0;border-radius:18px;text-align:center}.reader-symbol{font-size:25px;color:var(--secondary)}.reader-hero span{display:block;font-size:10px;letter-spacing:.14em;font-weight:700;margin:8px 0;color:var(--secondary)}.reader-hero h3{font:500 27px/1.18 'Playfair Display',Georgia,serif;margin:0;color:var(--primary)}.reading-body{font:17px/1.73 Georgia,serif;padding:14px 8px;color:#364c46}.reading-body h4{font:600 18px 'Playfair Display',Georgia,serif;color:var(--primary);margin:22px 0 8px}.reading-body p{margin:17px 0}.reading-body .verse{font:700 12px 'DM Sans',sans-serif;color:#9b7652;letter-spacing:.03em}.reading-body .refrain{background:#ede9d8;border-left:3px solid var(--secondary);padding:12px 14px;font:italic 15px Georgia,serif;border-radius:0 8px 8px 0}.reading-body .action-callout{background:#edf0e7;padding:15px;border-radius:13px;font:14px/1.6 'DM Sans',sans-serif;margin:20px 0}.reader-actions{display:flex;gap:9px;flex-direction:column;margin:5px 0 22px}.outline-btn{border:1px solid var(--primary);border-radius:30px;background:transparent;color:var(--primary);padding:13px;font-weight:700;font-size:12px}.community-cover{border-radius:17px;background:radial-gradient(circle at 50% 70%,#2d7170,#12484b 60%,#0b3439);min-height:195px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:white;text-align:center}.cover-art{font-size:88px;color:#e6c37c;text-shadow:0 0 24px #e5bd78}.community-cover p{font:italic 17px Georgia,serif;margin:0 0 13px}.community-detail{padding:12px 4px}.community-detail h3{font:600 24px 'Playfair Display',Georgia,serif}.community-detail p{line-height:1.67;font-size:14px;color:#566764}.community-info{border-top:1px solid #dedfd4;margin:21px 0;padding:5px 0}.info-row{padding:9px 2px;display:flex;gap:12px;font-size:13px;line-height:1.5}.community-detail .btn{width:100%;margin:7px 0 22px}.privacy{font-size:11px!important;color:#87938d!important}.toast{opacity:0;pointer-events:none;transition:.2s;position:absolute;bottom:93px;left:8%;width:84%;background:#143a3e;color:#fff;padding:13px 16px;border-radius:12px;text-align:center;box-shadow:0 12px 40px #0003;font-size:12px;z-index:20}.toast.visible{opacity:1}.desktop-overlay{display:none}.desktop-intro{text-align:center;max-width:420px;padding:32px}.desktop-icon{font-size:68px;color:#d9b76d}.desktop-intro h1{font:600 40px/1.15 'Playfair Display',Georgia,serif;color:#fbe6b9}.desktop-intro p{color:#d0dcd2;line-height:1.6}.desktop-intro .tiny{font-size:12px;color:#a7bdad}
@media(min-width:770px){body:not(.desktop-preview) .desktop-overlay{display:flex;align-items:center;justify-content:center;position:fixed;inset:0;background:radial-gradient(circle,#1d5f60,#092d35);z-index:100}body:not(.desktop-preview) .app-shell{display:none}body.desktop-preview .app-shell{margin:25px auto;border-radius:30px;min-height:750px;max-height:900px}body.desktop-preview .screen{height:800px;min-height:750px}.desktop-overlay{display:none}}
@media(max-height:700px){.home-header{padding-top:14px}.hero-center h1{font-size:31px;margin:5px 0}.tree-art{max-height:32vh}.home-footer{padding-bottom:12px;gap:7px}.hero-center .hero-citation{display:none}}

/* V1.1: aviso visible solo al administrador en el navegador autorizado */
.test-mode-banner{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:99999;max-width:calc(100% - 30px);padding:9px 16px;border-radius:12px;background:#fff9df;border:1px solid #d6a14c;box-shadow:0 8px 20px #0002;color:#60431b;font:700 12px/1.4 system-ui;text-align:center}
.test-mode-banner[hidden]{display:none}
