:root{--bg:#fff;--rose:#f6eeea;--green:#78534a;--ink:#322d2b;--line:#e7e2df}.heart-hub{margin-left:auto;font-size:.75rem;text-decoration:none}.heart-hero{background:#f8f3ee;border:1px solid #e6ddd1;border-radius:23px;padding:34px;margin-bottom:24px}.heart-hero h1{font-size:clamp(2.2rem,4vw,3.6rem);line-height:1.1;margin:16px 0}.heart-hero .serif{color:#947969}.heart-hero>p:not(.eyebrow){font-size:.9rem;color:#7c7268;max-width:700px;line-height:1.85}.heart-balance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.heart-balance article{border:1px solid var(--line);background:#fff;border-radius:16px;padding:20px}.heart-balance h2{font-size:1.1rem}.heart-balance p{font-size:.78rem;color:var(--muted);margin-top:9px;line-height:1.85}.heart-lesson{display:flex;flex-direction:column;gap:10px;align-items:flex-start;text-align:left;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);min-height:170px}.heart-lesson h3{font-size:1.16rem}.heart-lesson p{font-size:.81rem;color:var(--muted);line-height:1.75}.heart-lesson small{font-size:.7rem;margin-top:auto;color:#9b7867}.heart-date{display:block;font-size:.8rem;max-width:280px;margin:20px 0}.heart-date input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;font:inherit;margin-top:8px}.heart-day-links{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.heart-day-links button{font-size:.7rem}.heart-details{margin:22px 0}.heart-details summary{cursor:pointer;font-size:.85rem;min-height:44px}.heart-tiny{font-size:.75rem;color:var(--muted);line-height:1.85}.heart-fields textarea{min-height:100px}.heart-tools{margin-top:25px}.heart-tools h2{font-size:1.25rem;margin-bottom:15px}.heart-tools .button-row{margin-top:0}.heart-provenance{margin-top:25px;padding-top:22px;border-top:1px solid var(--line)}#heart-dialog{padding:26px}#heart-dialog h2{margin-bottom:15px}.heart-dialog-top{display:flex;gap:20px;justify-content:space-between}.heart-dialog-top button{border:0;background:none;min-width:40px;min-height:40px;font-size:24px}.heart-app-nav{margin-bottom:23px}@media(max-width:650px){.heart-hero{padding:25px}.heart-balance{grid-template-columns:1fr;gap:10px}.heart-balance article{padding:19px}.heart-lesson{padding:22px;min-height:160px}.heart-hub{font-size:.7rem}.heart-hero>p:not(.eyebrow){font-size:.81rem}.heart-fields input,.heart-fields textarea{font-size:16px}}
