:root{--bg:#090909;--panel:#121212;--panel2:#171717;--gold:#c9a14a;--goldsoft:#e2c477;--white:#f8f7f4;--muted:#aaa59a;--line:#302b21;--green:#53b875;--sans:'IBM Plex Sans',sans-serif;--serif:'IBM Plex Serif',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 50% -15%,#272116 0,transparent 43rem),var(--bg);color:var(--white);font:16px/1.65 var(--sans);min-height:100vh}.top{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,20px);border-bottom:1px solid #29251e;background:rgba(9,9,9,.92)}.brand{display:flex;align-items:center;gap:12px;color:var(--white);text-decoration:none;font:600 1.04rem var(--serif);letter-spacing:.02em}.brand img{width:34px}.brand b{color:var(--gold)}button{font:inherit;color:inherit}.gear,.close{border:1px solid var(--line);background:#121212;color:var(--gold);width:42px;height:42px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:.2s}.gear:hover,.close:hover{border-color:var(--gold);background:#211d15}main{width:min(760px,calc(100% - 32px));margin:0 auto}.welcome{text-align:center;padding:42px 0 82px}.hero-mark{width:98px;height:98px;margin:0 auto 19px;border:1px solid #725b2b;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 45px #c9a14a12}.hero-mark img{width:60px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.7rem;font-weight:600;margin:0 0 8px}h1{font:500 clamp(2.6rem,8vw,4.2rem)/1.08 var(--serif);letter-spacing:-.045em;margin:0}h1 em{color:var(--gold);font-weight:400}.welcome-copy{color:#c1bdb5;margin:14px auto 19px;max-width:440px}.today-chip{display:inline-flex;align-items:center;gap:9px;border:1px solid #493a20;border-radius:99px;padding:6px 13px;color:var(--goldsoft);font-size:.82rem}.status-dot{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px #c9a14a}.supplication{text-align:left;margin:38px auto 26px;padding:25px clamp(20px,5vw,38px);max-width:650px;background:linear-gradient(145deg,#141311,#10100f);border:1px solid #30291c;border-radius:5px;box-shadow:0 15px 55px #0005}.supplication h2{font:500 1.13rem var(--serif);color:var(--goldsoft);margin:0 0 14px}.supplication p{font:400 clamp(.91rem,2.2vw,1.03rem)/1.85 var(--serif);color:#dedbd5;margin:0}.supplication cite{display:block;text-align:right;font-size:.83rem;color:var(--gold);margin-top:16px}.primary{background:var(--gold);border:1px solid var(--gold);color:#16120a;border-radius:3px;padding:13px 25px;font-weight:700;letter-spacing:.05em;cursor:pointer;min-width:170px;transition:.2s}.primary:hover{background:var(--goldsoft);transform:translateY(-1px)}.primary span{margin-left:15px}.hidden{display:none!important}.prayer{min-height:calc(100vh - 150px);padding:22px 0 60px}.progress{position:sticky;top:0;background:#090909ed;padding:10px 0 15px;z-index:2}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;margin-bottom:8px}.progress-meta button{background:none;border:0;color:var(--gold);cursor:pointer;font-size:.76rem}.track{height:2px;background:#29251e}.track i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s}.step-card{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:36px 8px;animation:rise .35s ease}.step-kicker{color:var(--gold);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px}.step-card h2{font:500 clamp(1.65rem,5vw,2.5rem)/1.2 var(--serif);margin:0 0 24px;max-width:650px}.prayer-text{font:400 clamp(1.08rem,3vw,1.38rem)/1.9 var(--serif);color:#e5e2dd;max-width:620px;white-space:pre-line;margin:0 auto 30px}.mystery-quote{color:#c7c1b6;font-size:.95rem;font-style:italic;border-left:1px solid var(--gold);padding:5px 0 5px 15px;text-align:left;max-width:600px;margin:0 auto 25px}.mystery-quote b{display:block;color:var(--gold);font-style:normal;font-size:.76rem;margin-top:12px}.counter-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:8px 0 24px}.bead{width:43px;height:43px;border:1px solid #62502e;background:#12110e;color:var(--goldsoft);border-radius:50%;cursor:pointer;font-size:.85rem;transition:.18s}.bead:hover{border-color:var(--gold);transform:scale(1.07)}.bead.done{background:var(--green);border-color:var(--green);color:#07130b}.bead.done::after{content:'✓'}.single-done{width:58px;height:58px;border:1px solid #725b2b;border-radius:50%;background:#15130f;color:var(--gold);font-size:1.2rem;cursor:pointer;transition:.2s}.single-done.done{background:var(--green);border-color:var(--green);color:#08130a}.single-done.done::after{content:'✓'}.instruction{font-size:.8rem;color:var(--muted);margin:0 0 18px}.litany-lines{width:min(620px,100%);text-align:left;margin:0 auto 28px}.litany-line{padding:10px 12px;border-bottom:1px solid #28251f;color:#ddd}.litany-line b{display:block;font-weight:400;color:var(--goldsoft)}.next{background:none;border:1px solid #66532b;color:var(--goldsoft);padding:10px 19px;border-radius:3px;cursor:pointer}.next:hover{background:#201b11}.complete-mark{font-size:2rem;color:var(--green);margin-bottom:12px}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}dialog{width:min(490px,calc(100% - 28px));border:1px solid #423722;background:#111;color:var(--white);padding:0;border-radius:5px;box-shadow:0 25px 100px #000b}dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}dialog form{padding:25px}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font:500 1.7rem var(--serif);margin:0}.close{font-size:1.6rem}.setting{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid #29251e}.setting span,legend{font-size:.9rem;color:#ddd}.setting select{max-width:55%;background:#191816;color:var(--white);border:1px solid #4a402c;padding:9px;border-radius:3px}.setting input{accent-color:var(--gold);width:18px;height:18px}fieldset{border:0;border-top:1px solid #29251e;padding:16px 0 10px;margin:0}legend{padding:12px 0 8px}.setting input[type=checkbox],fieldset label input{accent-color:var(--gold)}fieldset label{display:flex;align-items:center;gap:10px;color:#c8c3ba;padding:6px 0;font-size:.87rem}.hint{color:var(--muted);font-size:.76rem;margin:8px 0 18px}.save{width:100%}footer{text-align:center;color:#77736b;font-size:.73rem;padding:18px;border-top:1px solid #211f1b}footer span{color:var(--gold);margin:0 7px}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(max-width:540px){.top{height:64px}.welcome{padding-top:30px}.supplication{margin-top:30px}.prayer{padding-top:12px}.step-card{min-height:70vh;padding-inline:2px}.counter-row{gap:7px}.bead{width:39px;height:39px}}
:root{--bg:#171719;--panel:#222225;--panel2:#2b2a2e;--gold:#d9b8dc;--goldsoft:#ecd9ed;--white:#f4eff5;--muted:#b5adb8;--line:#49424d;--green:#9ed6b1;--sans:'Open Sans',sans-serif;--serif:'Open Sans',sans-serif;color-scheme:dark}body{background:radial-gradient(ellipse at 50% -15%,#37303d 0,transparent 43rem),var(--bg);font-family:var(--sans)}h1,.supplication p,.step-card h2,.prayer-text,.dialog-head h2{font-family:var(--sans)}.top-actions{display:flex;align-items:center;gap:10px}.theme-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--gold);font-size:1.25rem;cursor:pointer}.hero-image{width:min(100%,540px);height:clamp(245px,48vw,390px);overflow:hidden;margin:0 auto 25px;border:1px solid #7c6d81;border-radius:5px;background:var(--panel);box-shadow:0 18px 55px #0005}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.welcome{padding-top:34px}.welcome .eyebrow{margin-top:0}.primary{background:#d9b8dc;border-color:#d9b8dc;color:#29232c}.today-chip{border-color:#615264;color:var(--goldsoft)}.status-dot{background:var(--gold)}.supplication{background:linear-gradient(145deg,#252328,#201f22);border-color:#504553}.step-card{min-height:65vh}.bead,.single-done{border-color:#776582;background:#27242a;color:var(--goldsoft)}.bead.done,.single-done.done{background:var(--green);border-color:var(--green);color:#102319}.next{display:none!important}.litany-line{border-color:var(--line)}
:root[data-theme="light"]{--bg:#f4f0f3;--panel:#fffaff;--panel2:#f0eaf1;--gold:#785a7f;--goldsoft:#62496a;--white:#302b33;--muted:#756d79;--line:#d8ceda;--green:#4b9568;color-scheme:light}html:has(:root[data-theme="light"]){background:var(--bg)}body:has(:root[data-theme="light"]){background:radial-gradient(ellipse at 50% -15%,#e7d9eb 0,transparent 43rem),var(--bg)}:root[data-theme="light"] body{color:var(--white)}:root[data-theme="light"] .top{background:#f8f4f8ed;border-color:#ddd1e0}:root[data-theme="light"] .supplication{background:linear-gradient(145deg,#fffaff,#f2edf4);border-color:#d9c9dc;box-shadow:0 15px 55px #49364b13}:root[data-theme="light"] .supplication p,:root[data-theme="light"] .prayer-text{color:#443d47}:root[data-theme="light"] .today-chip{border-color:#cbb7d0}:root[data-theme="light"] .hero-image{border-color:#cbb7d0;box-shadow:0 15px 40px #49364b19}:root[data-theme="light"] .progress{background:#f4f0f3ed}:root[data-theme="light"] .track{background:#ddd5df}:root[data-theme="light"] .bead,:root[data-theme="light"] .single-done,:root[data-theme="light"] .theme-toggle,:root[data-theme="light"] .gear{background:#fffaff}:root[data-theme="light"] dialog{background:#fffaff;color:#302b33}:root[data-theme="light"] dialog .setting span,:root[data-theme="light"] dialog legend,:root[data-theme="light"] fieldset label{color:#443d47}:root[data-theme="light"] .setting select{background:#fff;color:#302b33;border-color:#d8ceda}:root[data-theme="light"] .litany-line{color:#443d47}:root[data-theme="light"] .mystery-quote{color:#625a65}:root[data-theme="light"] footer{border-color:#ddd1e0;color:#756d79}
@media(max-width:600px){.top{padding-inline:16px}.brand{font-size:.95rem}.theme-toggle,.gear{width:39px;height:39px}.top-actions{gap:7px}.welcome{padding-top:24px}.hero-image{height:clamp(230px,70vw,340px);margin-bottom:22px}.supplication{padding:21px 18px}.prayer{width:100%}.step-card{min-height:70vh;padding:28px 2px}.prayer-text{line-height:1.8}.progress{padding-top:8px}}
:root{--bg:#181b19;--panel:#222724;--panel2:#292f2b;--gold:#a9cfb5;--goldsoft:#d2ead8;--line:#3d4941;--green:#8fc9a0;color-scheme:dark}
body{background:radial-gradient(ellipse at 50% -15%,#303b34 0,transparent 43rem),var(--bg)}
.hero-image{width:min(100%,460px);height:auto;aspect-ratio:604/800;margin:0 auto 25px;background:#211f1c;border-color:#55685a}
.hero-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.primary{background:#a9cfb5;border-color:#a9cfb5;color:#182019}
.today-chip{border-color:#4e6655;color:var(--goldsoft)}
.status-dot{background:var(--gold)}
.supplication{background:linear-gradient(145deg,#252a27,#202422);border-color:#455249}
.bead,.single-done{border-color:#5f7a67;background:#252b27;color:var(--goldsoft)}
.bead.done,.single-done.done{background:var(--green);border-color:var(--green);color:#102319}
.progress-meta{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:5px}
.progress-controls{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:11px}
.progress-controls>button{width:30px;height:30px;border:1px solid transparent;border-radius:50%;background:transparent;color:#91b99c;font-size:1.35rem;line-height:1;cursor:pointer;opacity:.78;transition:background .18s,color .18s,border-color .18s}
.progress-controls>button:hover{opacity:1;background:#2c3730;border-color:#506756;color:#c8e2ce}
.progress-controls .track{width:100%}
.progress-meta #exit{border:0;background:none;padding:0;color:#9eaa9f;font-size:.72rem;cursor:pointer}
.progress-meta #exit:hover{color:var(--goldsoft)}
.hero-image img{height:auto;object-fit:contain}
@media(max-width:600px){.hero-image{height:auto;width:min(100%,420px);margin-bottom:22px}.progress-controls{grid-template-columns:28px 1fr 28px;gap:8px}}
/* Firma y ayuda del proyecto */
footer{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;color:#c8c3ba;font-size:.72rem;letter-spacing:.045em}
.footer-title{color:#e6e1d8}
.progress-controls>button svg{display:block;width:20px;height:20px;margin:auto;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.progress-meta #exit{width:30px;height:28px;display:grid;place-items:center;color:#d0ba7e}
.progress-meta #exit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.progress-meta #exit:hover{color:#f1e4bd;transform:translateX(1px)}
#start{border-radius:8px}
.footer-help{width:25px;height:25px;display:inline-grid;place-items:center;border:1px solid #66583d;border-radius:50%;color:var(--goldsoft);transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}
.footer-help svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.footer-help:hover{color:#10110f;background:var(--goldsoft);border-color:var(--goldsoft);transform:translateY(-1px)}
.footer-help:focus-visible{outline:2px solid var(--goldsoft);outline-offset:3px}
.step-card{animation:step-arrive .62s cubic-bezier(.22,.68,0,1) both}
.track i{transition:width .65s cubic-bezier(.22,.68,0,1)}
.progress-controls>button{transition:background .28s ease,color .28s ease,border-color .28s ease,opacity .28s ease,transform .28s ease}
.progress-controls>button:active{transform:scale(.92)}
.gear,.close,.primary,.bead,.single-done,.setting select{transition:all .28s cubic-bezier(.22,.68,0,1)}
.supplication,.prayer,.welcome{animation:content-arrive .7s cubic-bezier(.22,.68,0,1) both}
@keyframes step-arrive{from{opacity:0;transform:translateY(13px) scale(.995);filter:blur(2px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes content-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
:root{--bg:#0b0a09;--panel:#151310;--panel2:#1c1914;--gold:#d3bd83;--goldsoft:#f1e7cb;--white:#faf8f2;--muted:#aaa397;--line:#413a2d;--green:#d3bd83;color-scheme:dark}
body{background:radial-gradient(ellipse at 50% -15%,#30281a 0,transparent 43rem),var(--bg)}
.top{background:rgba(11,10,9,.94);border-color:#29251e}
.primary{background:var(--gold);border-color:var(--gold);color:#1a170f}
.primary:hover{background:var(--goldsoft)}
.today-chip{border-color:#665735;color:var(--goldsoft)}
.supplication{background:linear-gradient(145deg,#191713,#12110f);border-color:#403827}
.bead,.single-done{border-color:#766844;background:#171511;color:var(--goldsoft)}
.bead.done,.single-done.done{background:var(--gold);border-color:var(--gold);color:#17130b}
.progress-controls>button{color:#d0ba7e}
.progress-controls>button:hover{background:#292316;border-color:#655631;color:#f1e4bd}
.footer-help{border-color:#66583d;color:var(--goldsoft)}
.footer-title{color:#e6e1d8}
