/* Genesis: quiet reading surfaces, warm daily practice, consistent interactive states. */
:root { --soft:#716875; --muted:#625e69; }
:focus-visible { outline:3px solid #1A1941; outline-offset:4px; }
button, a, input, textarea { touch-action:manipulation; }
button:disabled { cursor:default; opacity:.5; }
.screen { padding-bottom:calc(var(--dock-h) + 90px + var(--safe-b)); }
.room-top { border-radius:0 0 28px 28px; box-shadow:0 10px 25px -22px #7d4e2c; }
.room-top .page-title { font-size:36px; line-height:1.08; }
.room-top .lede { font-size:16px; }
.card,.card-lift { box-shadow:0 2px 4px #1a194108,0 12px 26px -22px #1a194140; }
.today-top { padding-bottom:25px; }
.hello { font-size:40px; line-height:1.08; }
.hello-sub { font-size:16px; }
#today .ritual { margin-top:20px; }
.section-title { margin-top:28px; }
.section-title>span { font-size:10px; letter-spacing:.07em; }
.practice-progress { color:var(--muted); font-size:13px; margin:12px 2px 0; }
.device-note { color:var(--muted); font-size:13px; line-height:1.5; }
.text-action { color:var(--navy); text-decoration:underline; text-underline-offset:4px; padding:8px; font-size:14px; }
.genesis-empty { text-align:center; padding:32px 20px; border:1px dashed var(--line-2); background:var(--cream); border-radius:20px; }
.genesis-empty>span { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 16px; color:var(--orange-dk); background:#fff0db; border-radius:50%; }
.genesis-empty svg { width:24px; height:24px; }
.genesis-empty h3 { font-size:23px; }
.genesis-empty p { color:var(--muted); font-size:15px; margin:10px 0 18px; }
.entries .entry { border-left:3px solid #edb777; }
#journalMore { margin-top:16px; }
#libTabs { overflow-x:auto; scrollbar-width:none; padding:5px; gap:3px; }
#libTabs button { flex:1 0 auto; min-height:44px; padding:10px 12px; }
.availability-note { margin:16px 0; padding:14px; background:#fff1dc; border-radius:12px; color:var(--navy); font-size:14px; line-height:1.5; }
.veil:not(.open) { visibility:hidden; }
.sheet { overscroll-behavior:contain; }
.sheet .btn { min-height:46px; }
#thread { overflow-wrap:anywhere; }
.dock-in button { min-height:48px; }
.fine { color:var(--muted); }
.route-foot { letter-spacing:.09em; opacity:.8; }
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
.genesis-reflect{display:grid;grid-template-columns:32px 1fr 16px;gap:12px;align-items:center;width:100%;margin:22px 0;padding:20px;background:#fffaf2;border:1px solid #ecddc8;text-align:left}
.genesis-reflect b{display:block;font:700 18px/1.3 var(--serif);color:var(--navy)}
.genesis-reflect small{display:block;color:var(--muted);font-size:14px;line-height:1.4;margin-top:5px}
.genesis-reflect>[data-g]{color:var(--orange-dk);font-size:25px}
.genesis-inventory{margin:22px 0;border:1px solid var(--line-2);border-radius:16px;background:var(--cream);padding:16px}
.genesis-inventory summary{cursor:pointer;font:700 17px/1.4 var(--serif);color:var(--navy)}
.genesis-inventory summary span{float:right;font:600 11px/2 var(--sans);color:var(--muted)}
.genesis-inventory .inv{margin-top:16px;box-shadow:none}

.review-ledger-notice{display:block;position:relative;margin:12px 18px 110px;padding:10px 14px;border:1px solid #e4d5c1;border-radius:12px;background:#f5eadb;color:#725335;font:600 11px/1.5 var(--sans);text-align:center;text-decoration:none}
