:root{color:#26352b;font-synthesis:none;background:#f6f7f4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:#f6f7f4;min-width:320px;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:760px;min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 20px calc(92px + env(safe-area-inset-bottom));margin:auto}.topbar{justify-content:space-between;align-items:center;margin-bottom:34px;display:flex}.wordmark{letter-spacing:0;font-size:19px;font-weight:700}.privacy{color:#718077;border:1px solid #dce2dc;border-radius:20px;padding:5px 9px;font-size:12px}.content{animation:.24s ease-out enter}@keyframes enter{0%{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}.date-line,.eyebrow{color:#718077;margin:0;font-size:13px}.eyebrow{letter-spacing:.06em;text-transform:uppercase}.today-focus{border-bottom:1px solid #e1e6df;padding:23px 0 26px}h1,h2{letter-spacing:0;margin:7px 0;font-weight:650}h1{font-size:29px}h2{font-size:24px}.state-copy{color:#536158;margin:0;font-size:15px;line-height:1.55}.streak-number{align-items:baseline;gap:10px;margin-top:29px;display:flex}.streak-number strong{color:#3e6548;font-size:46px;font-weight:650;line-height:1}.streak-number span{color:#617065;font-size:14px}.action-grid{grid-template-columns:1fr 1fr;gap:11px;margin:22px 0 10px;display:grid}.check-button{text-align:left;color:#2e4434;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:7px;min-height:92px;padding:15px;display:flex}.check-button b{font-size:16px}.check-button small{color:#637168;font-size:12px}.calm{background:#deebdf;border-color:#c5dbc8}.warm{color:#62483f;background:#f0e1d9;border-color:#e4c9bc}.text-button{color:#55675b;text-underline-offset:3px;background:0 0;border:0;padding:10px 0;font-size:13px;text-decoration:underline}.summary-block{border-top:1px solid #e1e6df;grid-template-columns:repeat(3,1fr);margin-top:25px;display:grid}.summary-block div{flex-direction:column;gap:5px;padding:18px 8px 0 0;display:flex}.summary-block span,.summary-block b{font-size:12px}.summary-block span{color:#718077}.summary-block b{font-size:15px}.bottom-nav{z-index:5;padding:8px max(14px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f6f7f4eb;border-top:1px solid #e1e6df;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{color:#7a867d;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:48px;font-size:11px;display:flex}.bottom-nav button span{font-size:19px;line-height:15px}.bottom-nav button.active{color:#3f684b;font-weight:700}.page-heading{justify-content:space-between;align-items:center;margin-bottom:23px;display:flex}.page-heading h1{margin-bottom:0}.month-controls{align-items:center;gap:7px;display:flex}.month-controls b{white-space:nowrap;font-size:13px}.month-controls button{color:#546359;background:0 0;border:1px solid #d9dfd9;border-radius:6px;width:30px;height:30px;font-size:23px;line-height:15px}.calendar{border-top:1px solid #dce3db;padding-top:12px}.weekdays,.days{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekdays{margin-bottom:8px}.weekdays span{text-align:center;color:#7b867d;font-size:12px}.days{row-gap:7px}.day{color:#435148;background:#ecefeb;border:1px solid #0000;border-radius:7px;height:clamp(43px,12vw,58px);position:relative}.day b{font-size:13px;font-weight:550}.day i{font-size:19px;font-style:normal;line-height:12px;position:absolute;bottom:2px;left:0;right:0}.day.abstained{color:#3c6548;background:#dcebdd}.day.lapsed{color:#8c5e4e;background:#f0e0d8}.day.is-today{outline-offset:1px;outline:2px solid #738b76}.legend{color:#68756c;gap:17px;margin:20px 0;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.abstained{background:#83a889}.dot.lapsed{background:#c69480}.dot.none{background:#cfd5ce}.streak-pair{background:#e0e5df;border:1px solid #e0e5df;border-radius:7px;grid-template-columns:1fr 1fr;gap:1px;display:grid;overflow:hidden}.streak-pair div{background:#f8f9f6;flex-direction:column;gap:8px;padding:18px;display:flex}.streak-pair span{color:#6c786e;font-size:13px}.streak-pair b{color:#3e6548;font-size:30px}.streak-pair small{color:#667369;font-size:13px}.range-list{border-top:1px solid #e0e5df;margin:25px 0}.range-row{border-bottom:1px solid #e0e5df;padding:17px 0}.range-row>div:first-child{justify-content:space-between;align-items:baseline;display:flex}.range-row b{font-size:15px}.range-row span{color:#728076;font-size:12px}.metrics{flex-wrap:wrap;align-items:center;gap:11px;margin-top:11px;display:flex}.metrics strong{color:#3e6548;margin-left:auto;font-size:18px}.trend{border-top:1px solid #e0e5df;padding:19px 0}.trend>div:first-child{justify-content:space-between;display:flex}.trend span,.trend p{color:#728076;margin:0;font-size:12px}.bars{align-items:end;gap:3px;height:92px;padding:14px 0 8px;display:flex}.bars i{background:#dfe4de;border-radius:2px;flex:1;min-width:2px;height:18%}.bars i.abstained{background:#86a98a;height:100%}.bars i.lapsed{background:#c8937e;height:50%}.setting-group{border-top:1px solid #dfe5de;margin-bottom:26px}.setting-row{border-bottom:1px solid #e2e7e1;justify-content:space-between;align-items:center;gap:15px;min-height:68px;padding:13px 0;display:flex}.setting-row span{flex-direction:column;gap:4px;display:flex}.setting-row b{font-size:14px}.setting-row small,.setting-note,.privacy-copy{color:#728076;margin:0;font-size:12px;line-height:1.55}.setting-row input[type=checkbox]{appearance:none;background:#c8d0c8;border-radius:20px;flex:none;width:42px;height:24px;position:relative}.setting-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.setting-row input:checked{background:#6f9876}.setting-row input:checked:after{transform:translate(18px)}.setting-row input[type=time]{color:#344239;background:0 0;border:1px solid #d7ded6;border-radius:6px;padding:7px}.setting-note{padding:13px 0}.small-button,.danger-button{color:#45554b;white-space:nowrap;background:0 0;border:1px solid #cfd8cf;border-radius:6px;min-height:35px;padding:0 10px;font-size:13px}.privacy-copy{padding:15px 0}.danger-button{color:#85594d;border-color:#d5b5aa}.modal-backdrop{z-index:10;background:#1b251e45;align-items:end;display:flex;position:fixed;inset:0}.edit-sheet{width:min(760px,100%);padding:10px 20px calc(20px + env(safe-area-inset-bottom));background:#f8f9f6;border-radius:10px 10px 0 0;margin:auto;box-shadow:0 -8px 25px #00000014}.sheet-handle{background:#c9d1c9;border-radius:5px;width:34px;height:4px;margin:0 auto 19px}.status-toggle{grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;display:grid}.status-toggle button{color:#58675d;background:0 0;border:1px solid #d3dcd2;border-radius:7px;min-height:48px}.status-toggle button.selected{font-weight:650}.note-label{color:#66736a;flex-direction:column;gap:8px;font-size:13px;display:flex}.note-label textarea{resize:vertical;color:#344239;background:#fff;border:1px solid #d8dfd7;border-radius:6px;min-height:94px;padding:11px;line-height:1.45}.sheet-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.save-button{color:#fff;background:#52765b;border:0;border-radius:6px;min-height:44px;padding:0 18px;font-weight:650}.delete{color:#8b5a4f}.update-banner{z-index:18;color:#3d6145;background:#eef5ed;border:1px solid #bcd1bf;border-radius:6px;max-width:calc(100% - 36px);min-height:42px;padding:0 15px;font-size:13px;font-weight:650;position:fixed;bottom:82px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #0000001f}.toast{z-index:20;color:#fff;background:#34433a;border-radius:6px;width:max-content;max-width:calc(100% - 36px);padding:10px 14px;font-size:13px;position:fixed;bottom:88px;left:50%;transform:translate(-50%);box-shadow:0 5px 16px #00000026}@media (width>=640px){.app-shell{padding-left:34px;padding-right:34px}.bottom-nav{border-left:1px solid #e1e6df;border-right:1px solid #e1e6df;max-width:760px;margin:auto}.days{gap:7px}}@media (prefers-color-scheme:dark){:root,body{color:#e2e9e1;background:#18201b}.app-shell{background:#18201b}.privacy,.today-focus,.summary-block,.calendar,.range-list,.trend,.setting-group,.setting-row,.bottom-nav{border-color:#314137}.date-line,.eyebrow,.state-copy,.streak-number span,.summary-block span,.legend,.range-row span,.trend span,.trend p,.setting-row small,.setting-note,.privacy-copy{color:#aab8ac}.calm{color:#e2e9e1;background:#294633;border-color:#3a6245}.warm{color:#f1dfd8;background:#4b3934;border-color:#694b42}.check-button small{color:inherit;opacity:.75}.bottom-nav{background:#18201beb}.day{color:#dce7dc;background:#2a352d}.day.abstained{background:#31503a}.day.lapsed{background:#563f38}.streak-pair{background:#314137;border-color:#314137}.streak-pair div{background:#202b24}.streak-pair b,.streak-number strong,.metrics strong{color:#9bc6a2}.edit-sheet{background:#202a23}.note-label textarea{color:#e2e9e1;background:#18201b;border-color:#3a493e}.small-button,.setting-row input[type=time],.status-toggle button{color:#d7e1d6;border-color:#455449}.trend .bars i.empty{background:#39463d}.update-banner{color:#e2e9e1;background:#294633;border-color:#4c7153}}
