/* Dark, warm, low-blue palette: meant to be looked at at 3am */
:root { --bg:#120a0a; --fg:#e8c9b8; --muted:#8a6e62; --btn:#2a1714; --accent:#b4553c; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:17px/1.4 system-ui, sans-serif; }
main { max-width:480px; margin:0 auto; padding:16px 16px calc(24px + env(safe-area-inset-bottom)); }
h1 { font-size:20px; margin:8px 0 0; font-weight:600; }
h2 { font-size:16px; margin:28px 0 8px; color:var(--muted); font-weight:600; }
.muted { color:var(--muted); } .small { font-size:13px; }
button { font:inherit; color:var(--fg); background:var(--btn); border:1px solid #3a221d; border-radius:12px; padding:14px; cursor:pointer; }
button.big { width:100%; padding:56px 16px; font-size:26px; margin-top:24px; background:#3a1a14; border-color:var(--accent); }
button.link { background:none; border:none; color:var(--muted); padding:8px; text-decoration:underline; }
button.sel { border-color:var(--accent); background:#3a1a14; }
.row { display:flex; gap:8px; } .row button { flex:1; }
.nav { justify-content:space-between; } .nav button { flex:0 0 auto; }
.q { margin:20px 0 8px; }
.saved { font-size:20px; margin-top:24px; }
.tip { background:var(--btn); border-radius:12px; padding:14px; }
#tip-view > button:not(.link) { width:100%; }
ul { list-style:none; padding:0; margin:0; }
li { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid #2a1714; }
li button { padding:4px 10px; font-size:13px; }
button.morning { width:100%; margin-top:12px; padding:20px; font-size:19px; }
button.wide { width:100%; margin-top:16px; }
.wrap { flex-wrap:wrap; } .wrap button { flex:1 1 auto; padding:12px 10px; }
textarea { width:100%; font:inherit; color:var(--fg); background:var(--btn); border:1px solid #3a221d; border-radius:12px; padding:10px; }
.ck { margin:12px 0 0; }
.findings li { display:block; background:var(--btn); border-radius:12px; padding:12px; margin:8px 0; border:none; }
table { width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; }
caption { text-align:left; color:var(--muted); font-weight:600; padding-bottom:4px; }
th, td { padding:6px 4px; text-align:right; border-bottom:1px solid #2a1714; }
th:first-child, td:first-child { text-align:left; }
th { color:var(--muted); font-weight:500; }
footer { margin-top:32px; text-align:center; }
