:root{--ink:#291914;--rust:#ae4c2a;--cream:#fff8f2;--line:#ecdccd;--muted:#80695d}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;display:flex;min-height:100vh}aside{width:246px;padding:32px 19px 20px;background:#fffdf9;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{font:28px "DM Serif Display";color:var(--ink);text-decoration:none;margin:0 9px 45px}.brand span{color:var(--rust);font-size:38px;vertical-align:-5px}nav{display:grid;gap:8px}nav a{padding:12px 14px;border-radius:11px;text-decoration:none;color:#60473a;font-weight:600;display:flex;gap:14px}nav a.active{background:#f7e2d1;color:var(--rust)}.reader{margin-top:auto;padding:15px 9px 0;border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;font-size:12px}.reader>b{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#a94c2e;color:#fff}.reader small{display:block;color:var(--muted);margin-top:3px}main{width:min(1100px,100%);margin:0 auto;padding:44px 54px 70px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:1.4px;font-weight:700;color:var(--rust);margin:0 0 7px}h1,h2,p{margin-top:0}h1{font:43px "DM Serif Display";margin:0 0 4px}h1 span{font-size:23px;color:#e6a35d}header p:not(.eyebrow){color:var(--muted);margin:0}button{font-family:"DM Sans";font-weight:700;cursor:pointer}header>button,.secondary{background:transparent;border:1px solid #cda991;border-radius:10px;padding:11px 15px;color:var(--rust)}.hero-goal{border:1px solid #ead5c3;border-radius:25px;padding:27px;display:grid;grid-template-columns:170px 1fr 160px;gap:30px;align-items:center;background:linear-gradient(100deg,#fffdf9,#fff0e2)}.ring{width:145px;height:145px;border-radius:50%;background:conic-gradient(var(--rust) 69%,#f1e1d6 0);display:grid;place-items:center}.ring>div{width:118px;height:118px;border-radius:50%;background:#fffaf5;display:grid;place-content:center;text-align:center}.ring b{font:34px "DM Serif Display"}.ring small{font-size:11px;color:var(--muted)}.hero-goal h2,.lower h2{font:28px "DM Serif Display";margin:0 0 7px}.goal-copy{color:var(--muted);max-width:390px}.goal-actions{display:flex;gap:9px;margin-top:18px}.primary{border:0;border-radius:10px;padding:12px 15px;color:#fff;background:linear-gradient(100deg,#bd552d,#9e3d25);box-shadow:0 6px 13px #9f452526}.streak{text-align:center;border-left:1px solid var(--line);padding-left:24px}.streak span{font-size:28px;display:block}.streak b{font:37px "DM Serif Display";display:block}.streak small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.streak p{font-size:11px;color:var(--muted);margin:9px 0 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:20px 0}.cards article,.lower article{background:#fffdf9;border:1px solid var(--line);border-radius:18px;padding:20px}.cards p{font-size:11px;letter-spacing:1px;color:var(--muted);font-weight:700;margin:0 0 7px}.cards b{font:28px "DM Serif Display";display:block}.cards small{font:14px "DM Sans"}.cards span{font-size:11px;color:#9a5c39}.lower{display:grid;grid-template-columns:1.2fr .8fr;gap:17px}.section-heading{display:flex;justify-content:space-between;align-items:start}.section-heading>span{font-size:12px;color:var(--muted)}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;text-align:center}.weekdays{font-size:10px;color:var(--muted);margin:23px 0 8px}.days i{font-style:normal;height:33px;display:grid;place-items:center;border-radius:9px;font-size:12px}.days i:empty{visibility:hidden}.days .done{background:#f2d8c7;color:var(--rust);font-weight:bold}.days .today{background:var(--rust);color:#fff;font-weight:bold}.legend{font-size:11px;color:var(--muted);margin:19px 0 0}.legend b{display:inline-block;width:8px;height:8px;background:#f2d8c7;border-radius:50%;margin:0 5px 0 12px}.legend b:first-child{margin-left:0}.legend .today-dot{background:var(--rust)}.chart{height:154px;display:flex;align-items:end;gap:12px;border-bottom:1px solid var(--line);padding:16px 8px 0}.chart div{height:100%;display:flex;flex:1;flex-direction:column;justify-content:end;align-items:center;gap:7px}.chart i{width:100%;border-radius:6px 6px 0 0;background:#e7b08c}.chart div:nth-child(5) i{background:var(--rust)}.chart span{font-size:10px;color:var(--muted)}.chart-note{font-size:12px;color:var(--muted);margin:13px 0 0}dialog{border:0;border-radius:22px;padding:31px;width:min(390px,calc(100% - 32px));background:#fffaf5;color:var(--ink);text-align:center;box-shadow:0 20px 70px #2e160866}dialog::backdrop{background:#2d190d88}dialog .close{position:absolute;right:13px;top:8px;border:0;background:none;font-size:27px;color:#725444}dialog>span{font-size:42px;color:var(--rust)}dialog h2{font:29px "DM Serif Display";margin:5px 0}dialog p{font-size:13px;color:var(--muted)}.choice{display:flex;gap:8px;margin:22px 0}.choice button{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px 5px;background:#fff;color:var(--ink)}.choice button.selected{background:#f2d8c7;color:var(--rust);border-color:#dfae91}.timer{font:48px "DM Serif Display";margin:24px 0}@media(max-width:850px){aside{width:70px;padding:25px 10px}.brand{font-size:0;margin:0 auto 35px}.brand span{font-size:38px}nav a{justify-content:center;padding:12px}nav a span,.reader span{display:none}.reader{justify-content:center}main{padding:34px 28px}.hero-goal{grid-template-columns:145px 1fr}.streak{display:none}}@media(max-width:600px){body{display:block}aside{width:100%;height:65px;display:flex;flex-direction:row;align-items:center;padding:8px 14px}.brand{margin:0;font-size:22px}.brand span{font-size:28px}nav{margin-left:auto;display:flex;gap:1px}nav a{padding:9px}nav a:nth-child(n+4),.reader{display:none}main{padding:28px 19px}header{align-items:flex-start;gap:12px}.hero-goal{grid-template-columns:1fr;text-align:center}.ring{margin:auto}.goal-actions{justify-content:center}.cards,.lower{grid-template-columns:1fr}.lower{gap:15px}}
.session-log{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fffdf9;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.session-log h2{font:27px "DM Serif Display";margin:0}.session-log p:not(.eyebrow){font-size:12px;color:var(--muted);margin:5px 0 0}.session-history{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.session-history span{font-size:11px;background:#f8eadf;padding:8px 10px;border-radius:9px;color:#6c4b3b}@media(max-width:600px){.session-log{grid-template-columns:1fr}.session-log .primary{width:max-content}}
.reading-life{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:22px}.mood-calendar,.reminder-card{padding:23px;border:1px solid #dfc0a3;border-radius:20px;background:linear-gradient(145deg,#fffaf0,#f0dec5)}.reading-life h2{font:27px "DM Serif Display";margin:4px 0 7px}.reading-life p{font-size:13px;line-height:1.5;color:#765949}.mood-picks{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.mood-picks button,.evening-button{border:1px solid #cfaa87;background:#fffaf0;color:#71462f;border-radius:999px;padding:9px 12px;font:700 12px "DM Sans";cursor:pointer}.mood-picks button.chosen{background:#855038;color:#fff;border-color:#855038}.mood-message{margin:13px 0 0!important;color:#8e5c42!important}.reminder-card{display:flex;flex-direction:column;align-items:flex-start}.reminder-card .primary{margin-top:auto}.evening-button{margin-top:10px;background:#e9d4b6}.evening-mode{background:#33261f!important;color:#eadbc7!important}.evening-mode main{filter:saturate(.75) brightness(.84)}.evening-mode aside{background:#2b201b!important}.evening-mode .reading-life{filter:none!important}.evening-mode .mood-calendar,.evening-mode .reminder-card{background:linear-gradient(145deg,#584034,#3a2b24);border-color:#7f604d}.evening-mode .reading-life h2,.evening-mode .reading-life p{color:#f4e6d0!important}@media(max-width:700px){.reading-life{grid-template-columns:1fr}}
