:root{--bg:#16110d;--card:#221a14;--line:#3a2c20;--gold:#d9a95b;--txt:#efe4d2;--mut:#a8957c}
*{box-sizing:border-box;margin:0}body{background:radial-gradient(circle at 50% -10%,#3b2716,var(--bg) 60%) fixed;color:var(--txt);font:16px/1.55 Inter,sans-serif;min-height:100vh;padding-bottom:90px}
main{max-width:520px;margin:auto;padding:22px 18px}h1,h2,.verse{font-family:'Cormorant Garamond',serif}h1{font-size:34px;color:var(--gold)}h2{font-size:26px;margin:18px 0 8px}
.sub{color:var(--mut);font-size:14px}.card{background:linear-gradient(160deg,#2a1f17,var(--card));border:1px solid var(--line);border-radius:20px;padding:20px;margin:14px 0;box-shadow:0 10px 30px #0006}
.verse{font-size:23px;line-height:1.35;font-style:italic}.ref{color:var(--gold);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:12px;margin-top:10px}
.reveal{margin-top:14px;padding:14px;border-radius:14px;background:#0004;border:1px dashed var(--line);color:var(--mut);cursor:pointer}.reveal.open{color:var(--txt);border-style:solid}
.btn{display:inline-block;background:var(--gold);color:#1a120b;border:0;border-radius:999px;padding:12px 20px;font-weight:600;font-size:15px;margin:6px 6px 0 0}.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.streak{display:flex;gap:10px}.streak div{flex:1;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px}.streak b{display:block;font-size:26px;color:var(--gold)}
.track{display:flex;align-items:center;gap:14px;cursor:pointer}.track .i{font-size:30px}.pill{font-size:12px;color:var(--mut)}
.lab{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin:14px 0 4px}.decl{font-weight:600}
nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#120d0aee;backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
nav button{flex:1;background:none;border:0;color:var(--mut);font-size:20px}nav span{display:block;font-size:11px}nav .on{color:var(--gold)}
#full{position:fixed;inset:0;background:radial-gradient(circle,#3b2716,#0c0806);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;z-index:9}
#full .d{font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1.25}.orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(#d9a95b,#d9a95b22);margin:30px auto;transition:transform 4s ease-in-out}
textarea,input{width:100%;background:#0005;border:1px solid var(--line);border-radius:12px;color:var(--txt);padding:12px;font:inherit;margin-top:8px}.entry{border-left:3px solid var(--gold);padding-left:12px;margin:12px 0}
.flash{min-height:230px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer}
.bar{height:6px;background:#0006;border-radius:9px;overflow:hidden;margin-top:6px}.bar i{display:block;height:100%;background:var(--gold)}
.word{background:#0004;border:1px solid var(--line);border-radius:14px;padding:14px}.word .h{font-size:24px;color:var(--gold);font-family:'Cormorant Garamond',serif}
.xr{display:inline-block;margin:4px 6px 0 0;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--gold);font-size:13px;cursor:pointer}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.fav{background:none;border:0;font-size:22px;color:var(--gold);cursor:pointer}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{margin:0;text-align:center;cursor:pointer;padding:16px 10px}.grid .card b{display:block;font-size:26px}
#sheet{position:fixed;inset:0;background:#000a;z-index:20;display:flex;align-items:flex-end}#sheet>div{background:var(--card);border-top:1px solid var(--gold);border-radius:22px 22px 0 0;padding:22px;width:100%;max-height:75vh;overflow:auto}
.vi{padding:12px 0;border-bottom:1px solid var(--line)}.vi .t{font-family:'Cormorant Garamond',serif;font-size:19px;font-style:italic}.day{display:flex;gap:12px;align-items:center;cursor:pointer}.day .n{width:38px;height:38px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);flex:none}.day.ok .n{background:var(--gold);color:#1a120b}
mark{background:#d9a95b55;color:inherit}.back{color:var(--mut);font-size:14px;cursor:pointer}
#sheet[hidden]{display:none}
