:root{--bg:#f8f9f6;--paper:#fff;--ink:#293b34;--muted:#859087;--line:#e8ece6;--green:#246750;--green-dark:#174e3b;--lime:#e6f2b7;--soft:#edf3ec;--radius:18px;font-family:Inter,'Segoe UI',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #84ae73;outline-offset:3px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1{font-size:34px;line-height:1.2;letter-spacing:-1.25px}h2{font-size:19px;letter-spacing:-.45px}h3{font-size:15px}p{line-height:1.65}small{font-size:11px}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.muted{font-size:14px;color:var(--muted);margin-top:11px}.eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:2px;color:#7d8f7d;margin-bottom:13px}.small-muted{font-size:11px;color:var(--muted)}.brand{display:flex;gap:10px;align-items:center;font-size:27px;font-weight:700;letter-spacing:-1.4px}.brand-mark{width:36px;height:36px;background:var(--green);color:#f4f9db;border-radius:12px;display:grid;place-items:center}.brand-mark .icon{width:25px;height:25px}.brand-dot{color:#8ca46e}.badge{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:13px;background:var(--badge-bg);color:var(--badge-fg)}.badge .icon{width:24px;height:24px}.badge.large{width:52px;height:52px;border-radius:16px}.badge.large .icon{width:29px;height:29px}.button{padding:12px 20px;display:inline-flex;justify-content:center;align-items:center;gap:9px;font-size:12px;font-weight:600;border-radius:9px;min-height:43px;white-space:nowrap;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button.primary{background:var(--green);color:white}.button.primary:hover{background:var(--green-dark)}.button.secondary{background:#fff;border:1px solid #dce4d9}.button.secondary:hover{background:var(--soft)}.button.ghost{background:transparent;border:1px solid var(--line)}.button.small{min-height:37px;padding:9px 15px}.button .icon{width:17px;height:17px}.full-width{width:100%}.icon-btn{border:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:transparent;color:#8a978c;flex-shrink:0}.icon-btn:hover{background:#f0f3ed;color:var(--green)}.icon-btn .icon{width:17px;height:17px}.text-button{display:inline-flex;align-items:center;gap:7px;background:none;padding:5px 0;color:var(--green);font-size:12px;font-weight:600}.text-button:hover{color:#163a2b}.text-button .icon{width:16px;height:16px}.text-button.danger{color:#a55446}.loading{display:grid;place-items:center;min-height:100vh;color:var(--green)}
/* The workspace */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#f1f4ed;border-right:1px solid #e5e9df;padding:36px 22px 18px;display:flex;flex-direction:column;z-index:20}.sidebar .brand{padding-left:5px;margin-bottom:49px}.nav-label{font-size:9px;letter-spacing:1.8px;color:#9ca597;font-weight:600;padding-left:16px;margin-bottom:16px}.sidebar nav{display:grid;gap:7px}.nav-item{width:100%;background:transparent;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:10px;font-size:12px;font-weight:500;color:#879180;text-align:left}.nav-item .icon{width:19px;height:19px}.nav-item:hover{background:#e7ede2}.nav-item.selected{background:var(--green);color:#fff;box-shadow:0 4px 10px #2467500b}.nav-count{font-size:10px;margin-left:auto;padding:2px 6px;border-radius:5px;background:#ffffff20}.sidebar-bottom{margin-top:auto;padding-top:40px}.little-card{background:#e5ecdd;border:1px solid #dce6d1;border-radius:13px;padding:19px 17px;margin:0 7px 28px;position:relative;overflow:hidden}.little-card>.icon{position:absolute;right:8px;bottom:10px;width:54px;height:74px;color:#aebf98;transform:rotate(-13deg)}.little-card p{font-size:13px;font-weight:600;line-height:1.6;color:#596e4d;position:relative}.little-card>span{font-size:10px;display:block;color:#8d9b81;margin-top:9px;position:relative}.sidebar-bottom>.nav-item{font-size:11px;padding:10px 13px}.profile{margin-top:20px;padding:18px 1px 0;border-top:1px solid #e0e6d9;display:flex;align-items:center;gap:10px}.avatar{width:33px;height:33px;border-radius:50%;background:#dfe8d8;color:#607653;display:grid;place-items:center;font-size:13px}.profile>div{min-width:0;flex:1}.profile strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.profile div>span{display:block;margin-top:4px;font-size:8px;color:#929c8b}.profile .icon-btn{width:25px}.workspace{margin-left:228px;min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:81px;border-bottom:1px solid var(--line);padding:0 43px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff65}.breadcrumb{font-size:11px;color:#8c978d;display:flex;gap:13px}.breadcrumb span{color:#c5cdc1}.breadcrumb strong{font-weight:500;color:#69766a}.topbar-right{display:flex;align-items:center;gap:22px}.connection{display:flex;align-items:center;gap:6px;font-size:9px;color:#9aA395}.status-dot{width:5px;height:5px;border-radius:50%;background:#8eaa6f}.status-dot.offline{background:#bd9444}.main-content{width:100%;max-width:1370px;margin:0 auto;padding:40px 43px 40px;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.page-heading>.text-button{align-self:flex-end}.page-heading .muted{font-size:12px}.workspace-footer{display:flex;justify-content:space-between;font-size:9px;color:#a9b1a5;margin:auto 43px 0;padding:23px 0;border-top:1px solid var(--line)}.mobile-nav,.mobile-settings{display:none}
/* Today */
.today-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:28px}.week-strip{padding:14px 8px;background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:30px}.week-strip>.icon-btn{width:23px}.week-day{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;width:52px;min-height:78px;background:transparent;gap:7px;color:#879182;padding:9px 4px}.week-day>span{font-size:9px}.week-day>strong{font-size:17px;font-weight:500;color:#4e5e50}.week-day.selected{background:var(--green);color:#ffffffae}.week-day.selected>strong{color:white}.week-day.is-today:not(.selected){background:#f0f5e8}.week-day>i{width:4px;height:4px;border-radius:50%;display:block;background:transparent}.week-day i.today-dot{background:#a9bd6d}.week-day i.all-done{background:#70aa70}.week-day.selected>i{background:#cbe68e}.list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.list-heading h2{font-size:17px;display:flex;align-items:center;gap:9px}.count-label{font-size:10px;font-weight:500;color:#93a086;background:#eaf0e3;padding:3px 7px;border-radius:5px}.date-tools{display:flex;align-items:center;gap:14px}.date-picker{display:inline-flex;position:relative;align-items:center;color:#99a48f;width:25px;height:25px;cursor:pointer}.date-picker .icon{width:17px;height:17px}.date-picker input{position:absolute;inset:0;opacity:0;width:100%;padding:0;cursor:pointer}.date-picker input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.period-section{margin-bottom:23px}.period-title{display:flex;align-items:center;gap:8px;margin:0 0 10px 2px;color:#97a28e}.period-title .icon{width:15px;height:15px}.period-title h3{font-size:10px;color:#8a9682;font-weight:500}.period-title>span{font-size:9px;margin-left:auto}.activity-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.activity-row{display:flex;align-items:center;gap:12px;min-height:85px;padding:17px 17px;transition:background .2s}.activity-row+.activity-row{border-top:1px solid #f0f2ed}.activity-row.completed{background:#fcfdfb}.activity-row.completed .activity-text>strong{text-decoration:line-through;color:#9ca694}.check-circle{width:21px;height:21px;flex-shrink:0;border:1.5px solid #d8e0d2;border-radius:50%;display:grid;place-items:center;padding:0;background:white;color:white;transition:background .15s}.check-circle:hover{border-color:#699c71}.check-circle.checked{border-color:#6f9663;background:#6f9663}.check-circle .icon{width:14px;height:14px;stroke-width:2.5}.activity-text{min-width:0;flex:1}.activity-text>strong{font-size:12px;font-weight:500;display:block;line-height:1.5;overflow-wrap:anywhere}.activity-text>span{font-size:9px;color:#a6afa0;display:block;line-height:1.5;margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}.activity-text>span i{font-style:normal;padding:0 4px}.activity-row .badge{width:39px;height:39px;border-radius:11px}.activity-row .badge .icon{width:21px;height:21px}.row-streak{display:flex;align-items:center;gap:4px;font-size:10px;color:#a8af9a}.row-streak .icon{width:13px;height:13px;color:#c1c8a6}.row-edit{width:25px}.row-edit .icon{width:14px;height:14px}.counter{display:flex;align-items:center;gap:2px;border:1px solid #e9ede5;border-radius:7px}.counter>.icon-btn{width:24px;height:27px;font-size:15px}.counter>span{font-size:10px;min-width:21px;text-align:center;color:#88977f}.priority-mark{color:#b48b5b}.priority-mark .icon{width:14px;height:14px}.add-line{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px;border:1px dashed #dce5d3;border-radius:10px;background:transparent;color:#99a38c;font-size:11px}.add-line:hover{background:#eff4e8}.add-line .icon{width:15px;height:15px}.progress-card{background:#edf2e6;border:1px solid #e3e9d9;border-radius:17px;text-align:center;padding:24px 18px 0;overflow:hidden}.card-eyebrow{font-size:8px;letter-spacing:1.3px;color:#83966e;font-weight:500;display:flex;justify-content:center;gap:7px;align-items:center}.card-eyebrow .icon{width:14px;height:14px}.progress-ring{width:154px;height:154px;margin:25px auto 22px;border-radius:50%;padding:9px;background:conic-gradient(#85a262 var(--progress),#dfe7d2 0);transform:rotate(0deg)}.progress-ring>div{background:#edf2e6;border-radius:50%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.progress-ring strong{font-weight:500;font-size:39px;letter-spacing:-2px;line-height:1.25;color:#446440}.progress-ring strong>small{font-size:20px;letter-spacing:-1px;margin-left:1px}.progress-ring div>span{font-size:9px;color:#93a182;margin-top:4px}.progress-card h3{font-size:13px;color:#5d7550;font-weight:500}.progress-card>p{font-size:10px;color:#96a385;margin:7px 0 21px}.progress-card-footer{margin:0 -18px;padding:13px 8px;border-top:1px solid #dfe7d4;font-size:8px;color:#93a180;display:flex;justify-content:center;align-items:center;gap:5px;background:#e8efdf}.progress-card-footer .icon{width:12px;height:12px}.note-card{background:#f5f0e7;border:1px solid #eee8dc;border-radius:15px;padding:24px 22px 18px;position:relative;margin-top:20px;overflow:hidden;min-height:157px}.note-card .eyebrow{font-size:8px;color:#a69c84;letter-spacing:1.4px;margin-bottom:13px}.note-card>p{font-size:13px;line-height:1.8;color:#8d846d;font-family:Georgia,serif;font-style:italic;position:relative;z-index:1}.note-leaves{position:absolute;bottom:-12px;right:6px;color:#ded8bd;transform:rotate(-16deg)}.note-leaves .icon{height:78px;width:66px}.insight-link{padding:26px 10px}.insight-link>span{display:flex;align-items:center;gap:7px;color:#839476;font-size:10px;font-weight:500}.insight-link>span .icon{width:15px;height:15px}.insight-link>p{font-size:10px;color:#a1aa98;margin:7px 0 13px 22px}.insight-link>.text-button{font-size:10px;margin-left:22px}.insight-link .text-button .icon{width:14px;height:14px}.notice{padding:12px 14px;background:#f0f3e6;border-radius:8px;margin-bottom:20px;font-size:12px;color:#869078}
/* Routines and tasks */
.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:25px}.segmented{background:#edf1e8;border-radius:9px;padding:4px;display:inline-flex;gap:4px}.segmented button{background:transparent;border-radius:6px;padding:9px 15px;font-size:11px;color:#9aa48d}.segmented button.selected{background:#fff;color:#5b7451;box-shadow:0 1px 4px #35452c0c}.segmented button span{font-size:9px;background:#eaf0e4;padding:1px 5px;border-radius:4px;margin-left:6px}.habit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.habit-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:23px 21px}.habit-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.habit-card h3{font-size:15px;letter-spacing:-.2px;overflow-wrap:anywhere}.habit-note{color:#a3ac9b;font-size:10px;margin-top:8px;min-height:34px;overflow-wrap:anywhere}.habit-schedule{display:flex;align-items:center;gap:7px;color:#9ba58f;font-size:9px;margin-top:17px;flex-wrap:wrap}.habit-schedule .icon{width:13px;height:13px}.habit-schedule>span{color:#c8d0c0}.habit-days{display:flex;gap:7px;margin:17px 0 23px}.habit-days>span{display:grid;place-items:center;flex:1;aspect-ratio:1;max-width:30px;border-radius:50%;font-size:9px;color:#bdc6b2;background:#f7f8f4}.habit-days>span.on{color:#6e8860;background:#edf3e7}.strength-heading{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#9ba58e;margin-bottom:9px}.strength-heading>strong{font-weight:500;font-size:11px;color:#728566}.strength-heading small{background:#f1f1e5;color:#a1a175;padding:2px 4px;border-radius:4px;font-size:6px;margin-left:4px;letter-spacing:.6px}.strength-track{background:#edf1e7;border-radius:9px;height:5px;overflow:hidden}.strength-track>i{display:block;background:#779864;height:100%;border-radius:9px;min-width:0;transition:width .3s}.habit-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:15px;border-top:1px solid #f0f2eb;gap:4px;font-size:8px;color:#a3ad97}.habit-card-footer>span:first-child{display:flex;align-items:center;gap:4px}.habit-card-footer .icon{width:13px;height:13px;color:#b0b98c}.habit-card-footer strong{color:#899b77;font-weight:500}.task-group{margin-bottom:26px}.task-group>h3{font-size:12px;color:#8b9981;font-weight:500;margin-bottom:13px;display:flex;align-items:center;gap:10px}.pill{font-size:9px;font-weight:400;color:#9aa58c;background:#f0f3e9;border-radius:6px;display:inline-flex;padding:5px 8px;white-space:nowrap}.pill.overdue{color:#b28c65;background:#faf0e4;font-size:8px}.pill.established{background:#eaf3e7;color:#7d9d69}.empty-state{background:#fff;border:1px dashed #dde6d3;border-radius:16px;padding:48px 18px;text-align:center}.empty-state>.badge{margin-bottom:20px;width:53px;height:53px}.empty-state h3{font-size:16px;font-weight:500;letter-spacing:-.2px}.empty-state p{font-size:12px;color:#9ba58f;margin:10px auto 21px;max-width:340px}.empty-state .button{font-size:11px}
/* Insights */
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:23px}.stat-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:23px 25px}.stat-card>span{display:flex;align-items:center;gap:8px;font-size:10px;color:#93a087}.stat-card>span .icon{width:17px;height:17px;color:#91a57a}.stat-card>strong{font-size:35px;font-weight:500;display:block;margin-top:17px;letter-spacing:-1px;color:#526c47}.stat-card strong>small{font-size:14px;color:#a0ad93;letter-spacing:0;margin-left:4px}.stat-card p{font-size:9px;color:#a8b09e;margin-top:8px}.insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.panel-head h2{font-size:14px;font-weight:500;letter-spacing:-.2px}.panel-head p{font-size:9px;color:#a4ae99;margin-top:6px}.panel-head>.icon{color:#a7ba90}.panel-head .pill{font-size:8px}.bar-chart{display:flex;align-items:stretch;gap:13px;height:170px;padding:0 5px}.bar-column{display:flex;flex:1;flex-direction:column;align-items:center;gap:9px}.bar-column>span{font-size:8px;color:#a9b49c;min-height:12px}.bar-column>strong{font-size:8px;font-weight:400;color:#9ca88e}.bar-rail{height:123px;width:100%;max-width:32px;border-radius:6px;background:#f5f7f1;position:relative;overflow:hidden}.bar{position:absolute;bottom:0;background:#cbdcba;border-radius:6px;width:100%;min-height:0}.bar.current{background:#85a16b}.heatmap{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(12,1fr);gap:5px}.heat-cell{display:block;aspect-ratio:1;min-height:8px;border-radius:3px}.level-0{background:#f1f3ed}.level-1{background:#e3e9d9}.level-2{background:#cbdcb7}.level-3{background:#a8c78a}.level-4{background:#709b58}.heatmap-legend{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:7px;color:#abb49f;margin-top:12px}.heatmap-legend>div{display:flex;align-items:center;gap:4px}.heatmap-legend i{width:9px;height:9px}.garden-note{text-align:center;font-size:9px;margin-top:17px}.habit-breakdown{padding-bottom:12px}.habit-breakdown .empty-state{border:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:10px;white-space:nowrap}th{font-weight:400;color:#abb5a0;border-bottom:1px solid var(--line);padding:0 14px 13px}td{color:#94a088;padding:16px 14px;border-bottom:1px solid #f0f3ec}tbody tr:last-child td{border:0}th:first-child,td:first-child{padding-left:0}.table-habit{display:flex;align-items:center;gap:10px}.table-habit .badge{width:32px;height:32px;border-radius:9px}.table-habit .icon{width:18px;height:18px}.table-habit>strong{color:#65795a;font-size:10px;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis}.table-strength{display:flex;align-items:center;gap:9px}.table-strength>.strength-track{width:70px;height:4px}.table-strength>strong{font-weight:400;font-size:9px;min-width:25px}
/* Password welcome */
.auth-shell{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-story{background:#eaf0e3;padding:43px 8%;position:relative;min-height:750px;overflow:hidden;display:flex;flex-direction:column}.auth-story>.brand{font-size:29px}.auth-story .brand-mark{width:39px;height:39px}.story-copy{margin:auto 0;padding-top:52px}.story-copy>.eyebrow{font-size:9px;color:#94a382;margin-bottom:21px}.story-copy h1{font-size:clamp(42px,4.1vw,63px);font-weight:500;letter-spacing:-2.8px;line-height:1.16;color:#365a3d}.story-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#6d8b50}.story-copy>p{font-size:12px;color:#8b9c7a;line-height:1.9;margin-top:23px}.story-orbit{width:285px;height:263px;position:relative;margin:15px auto 0}.orbit-ring{width:230px;height:205px;border:1px dashed #bfccae;border-radius:50%;position:absolute;top:30px;left:25px;transform:rotate(-25deg)}.orbit-center{position:absolute;inset:65px 80px 45px 82px;border-radius:45% 50% 43% 52%;background:#dce7cf;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;transform:rotate(-8deg)}.orbit-center>.icon{width:34px;height:34px;color:#8fa874}.orbit-center>span{font-size:13px;color:#809567;text-align:center;line-height:1.7;transform:rotate(8deg);font-family:Georgia,serif;font-style:italic}.orbit-icon{position:absolute;box-shadow:0 9px 23px #4c653914;border-radius:16px;border:5px solid #f8faf3;z-index:1;transform:rotate(-10deg)}.orbit-icon .badge{width:51px;height:51px;border-radius:10px}.orbit-one{left:14px;top:58px;transform:rotate(-16deg)}.orbit-two{right:10px;top:38px;transform:rotate(13deg)}.orbit-three{right:34px;bottom:12px;transform:rotate(-10deg)}.orbit-note{position:absolute;left:15px;bottom:21px;font-family:Georgia,serif;font-size:11px;color:#a5b28e;transform:rotate(-10deg);font-style:italic}.auth-footer{display:flex;align-items:center;gap:7px;color:#9aab8b;font-size:9px;margin-top:32px}.auth-footer .icon{width:14px;height:14px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:55px 38px;background:#fafbf8}.auth-form{max-width:355px;width:100%}.mini-label{font-size:8px;font-weight:500;letter-spacing:1.8px;color:#a3ae96;display:block;margin-bottom:19px}.auth-form>h2{font-size:27px;font-weight:500;letter-spacing:-1px;line-height:1.25}.auth-form>.muted{font-size:11px;line-height:1.8;margin-bottom:27px}.auth-form label{font-size:10px}.auth-form input{font-size:12px;padding:13px 14px;background:#fff}.auth-submit{width:100%;justify-content:space-between;margin-top:5px;padding:13px 17px}.auth-privacy{display:flex;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:24px;color:#aab39e}.auth-privacy>.icon{width:15px;height:15px;margin-top:3px}.auth-privacy p{font-size:9px;line-height:1.9}.auth-form>.text-button{font-size:10px;margin-top:20px}.auth-small{color:#b0b8a8;font-size:8px;margin-top:15px}
/* Dialogs and forms */
dialog{color:var(--ink);background:#fcfdf9;border:1px solid #e1e8d9;border-radius:19px;padding:34px;width:530px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 45px);overflow:auto;box-shadow:0 24px 100px #24321e30}dialog::backdrop{background:#26362965;backdrop-filter:blur(5px)}dialog h2{font-size:23px;font-weight:500;letter-spacing:-.7px;line-height:1.3;padding-right:24px}dialog>.eyebrow{font-size:8px;letter-spacing:1.5px}dialog>.muted{font-size:11px;margin-bottom:24px}.modal-close{position:absolute;top:15px;right:15px}form{margin-top:22px}label{display:block;color:#77856a;font-size:11px;margin-bottom:17px;font-weight:500}input,select,textarea{display:block;width:100%;padding:12px 13px;border:1px solid #e0e6d9;border-radius:8px;margin-top:8px;color:#54684a;font-size:12px;background:#fff;box-shadow:0 1px 2px #243a1702}input::placeholder,textarea::placeholder{color:#b3bba9;font-weight:400}input[type="checkbox"],input[type="radio"]{accent-color:var(--green)}input[type="file"]{font-size:10px;padding:10px}input[type="file"]::file-selector-button{padding:8px 10px;border:0;border-radius:5px;color:#56704c;background:#eaf0e3;font:inherit;margin-right:10px}.check-label{display:flex;align-items:flex-start;gap:9px;font-size:10px;font-weight:400;line-height:1.7;cursor:pointer}.check-label input{width:15px;height:15px;margin:1px 0 0;flex-shrink:0;padding:0}.optional{font-size:9px;color:#b0baa3;font-weight:400}.form-error{color:#b65f4e;font-size:11px;line-height:1.6;margin:12px 0}.form-error:empty{display:none}.form-note{font-size:10px;color:#a0aa93;line-height:1.8;margin:5px 0 16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:24px;border-top:1px solid var(--line);padding-top:20px}.form-actions .button{font-size:11px}fieldset{padding:0;border:0;margin:18px 0 21px}legend{font-size:11px;color:#77856a;margin-bottom:11px;font-weight:500}.icon-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}.icon-option,.color-option{cursor:pointer;position:relative;margin:0}.icon-option input,.color-option input,.day-picker input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;z-index:1}.icon-option>span{display:grid;place-items:center;border:1px solid #e6ebdf;background:#fff;color:#a0ae93;aspect-ratio:1;border-radius:8px}.icon-option>span .icon{width:20px;height:20px}.icon-option input:checked+span{background:#e9f1e0;color:#668853;border-color:#9bb68a}.icon-option input:focus-visible+span,.color-option input:focus-visible+span,.day-picker input:focus-visible+span{outline:3px solid #84ae73;outline-offset:2px}.color-picker{display:flex;gap:13px}.color-option>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--swatch);color:transparent;border:3px solid #fcfdf9;outline:1px solid transparent}.color-option>span .icon{width:13px;height:13px}.color-option input:checked+span{color:white;outline-color:var(--swatch)}.day-picker{display:flex;gap:10px}.day-picker>label{position:relative;cursor:pointer;flex:1;max-width:46px;margin:0}.day-picker span{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#f0f3eb;color:#a6b099;font-size:12px;border:1px solid #e1e8d7}.day-picker input:checked+span{background:#e3efdb;color:#698852;border-color:#aac499}.choice-list{display:grid;gap:12px;margin-top:26px}.choice-list>button{display:flex;align-items:center;gap:15px;padding:20px 15px;border:1px solid #e4eadd;background:#fff;border-radius:12px;text-align:left}.choice-list>button:hover{background:#f0f5e9}.choice-list button>span:nth-child(2){flex:1}.choice-list strong{display:block;font-size:13px;font-weight:500;color:#667b59}.choice-list small{display:block;font-size:10px;color:#9faa91;margin-top:7px;line-height:1.7}.choice-list button>.icon{width:16px;color:#9faf91}.settings-group{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.settings-group h3{font-size:13px;font-weight:500}.settings-group p{font-size:10px;line-height:1.9;color:#9ba88d;margin-top:10px}.settings-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-top:17px}.settings-buttons .button{font-size:10px;padding:10px 12px;min-height:37px}.settings-buttons .icon{width:14px;height:14px}.version-label{font-size:9px;color:#b4bda9;margin-top:24px}.inline-end{display:flex;justify-content:flex-end}.explanation{font-size:12px;color:#8b9b7f;line-height:1.9;margin:22px 0}.explanation p{margin:15px 0;line-height:1.9}.explanation strong{font-weight:500;color:#5b764b}.explanation ol{padding-left:20px}.explanation li{padding-left:5px;margin:12px 0}.formula{padding:16px;background:#edf3e5;border-radius:9px;color:#6c8958;text-align:center;font-size:11px}.formula small{display:block;font-size:9px;margin-top:8px;color:#9aaa88}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;background:#2f4e35;color:#f8fbee;border:1px solid #59704e;box-shadow:0 8px 35px #1b321a15;padding:13px 20px;border-radius:11px;font-size:12px;line-height:1.6;max-width:calc(100vw - 35px);width:max-content;z-index:100}#toast.show{opacity:1;transform:translate(-50%,0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.main-content{padding-top:52px}.today-layout{gap:36px;grid-template-columns:minmax(0,1fr) 310px}.today-aside .progress-card{padding-top:30px}.week-day{width:66px}.activity-row{min-height:92px}.progress-ring{width:168px;height:168px;margin-top:30px;margin-bottom:27px}}
@media(max-width:1200px){.sidebar{width:205px;padding-left:16px;padding-right:16px}.workspace{margin-left:205px}.main-content{padding:32px 28px}.topbar{padding:0 28px}.today-layout{grid-template-columns:minmax(0,1fr) 240px;gap:21px}.connection{display:none}.workspace-footer{margin-left:28px;margin-right:28px}.week-day{width:43px;min-height:72px}.activity-row{gap:10px;padding:16px 13px}.activity-row .row-streak{display:none}.habit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:21px 18px}.panel{padding:21px}.insights-grid{gap:18px}.heatmap{gap:4px}.heatmap-legend>span:first-child{display:none}}
@media(max-width:980px){.today-layout{grid-template-columns:minmax(0,1fr)}.today-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.progress-card{display:grid;grid-template-columns:115px 1fr;padding:20px 12px 0;align-items:center;column-gap:7px}.card-eyebrow{grid-column:1/-1}.progress-ring{width:102px;height:102px;padding:6px;margin:20px 0;grid-row:2/4}.progress-ring strong{font-size:27px}.progress-ring strong small{font-size:16px}.progress-ring div>span{font-size:8px}.progress-card h3{align-self:end;margin-bottom:8px;font-size:11px}.progress-card>p{font-size:9px;align-self:start}.progress-card-footer{grid-column:1/-1;margin:0 -12px}.note-card{margin:0;min-height:0;padding:24px 16px}.note-card>p{font-size:12px}.insight-link{display:none}h1{font-size:29px}.stat-grid{gap:12px}.stat-card>span{font-size:9px;gap:5px}.stat-card>strong{font-size:30px}.stat-card p{font-size:8px}.insights-grid{grid-template-columns:1fr}.heatmap{grid-template-columns:repeat(21,1fr);grid-template-rows:repeat(4,1fr)}.heatmap-legend>span:first-child{display:block}.page-heading>.text-button{font-size:10px}.auth-story{padding-left:11%;padding-right:8%}.story-orbit{transform:scale(.85);transform-origin:top left;width:260px;margin-bottom:-35px}.auth-form-wrap{padding:45px 30px}.auth-form>h2{font-size:23px}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin-left:0}.topbar{min-height:66px;padding:0 22px}.breadcrumb{font-size:10px;gap:9px}.topbar-right{gap:8px}.mobile-settings{display:inline-flex}.main-content{padding:28px 22px 30px}.topbar .button{font-size:10px;padding:9px 12px;min-height:34px}.topbar .button .icon{width:15px;height:15px}.page-heading{margin-bottom:25px;align-items:flex-start}.page-heading h1{font-size:28px;letter-spacing:-1px}.page-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:12px}.page-heading .muted{font-size:11px;line-height:1.8}.page-heading>.button{font-size:10px;padding:10px 12px;margin-top:20px;min-height:36px}.workspace-footer{margin:0 22px 75px;padding:19px 0;font-size:8px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-around;background:#fbfcf8f5;backdrop-filter:blur(12px);border-top:1px solid #e2e9d8;padding:8px 7px calc(8px + env(safe-area-inset-bottom));z-index:30}.mobile-nav button{display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;width:23%;background:transparent;color:#a4ae98;padding:7px 4px;border-radius:10px;font-size:8px}.mobile-nav button .icon{width:19px;height:19px}.mobile-nav button.selected{color:var(--green);background:#edf3e6}.week-strip{padding:10px 6px;gap:3px;margin-bottom:25px}.week-day{width:calc((100vw - 120px)/7);max-width:65px;min-height:74px}.week-day>span{font-size:9px}.week-day>strong{font-size:17px}.list-heading h2{font-size:16px}.today-layout{gap:25px}.activity-row{padding:17px 14px;min-height:83px;gap:11px}.activity-text>strong{font-size:12px}.activity-text>span{font-size:9px}.period-title h3{font-size:10px}.today-aside{margin-top:3px}.habit-grid{gap:15px}.habit-card{padding:20px 18px}.section-toolbar>.small-muted{font-size:9px}.stat-grid{gap:10px}.stat-card{padding:17px 14px}.stat-card>span{font-size:9px;line-height:1.6}.stat-card>span .icon{display:none}.stat-card>strong{font-size:29px}.stat-card strong>small{font-size:10px}.stat-card p{line-height:1.9}.insights-grid{grid-template-columns:1fr 1fr;gap:15px}.heatmap{grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(7,1fr);gap:4px}.heatmap-legend>span:first-child{display:none}.panel{padding:20px 17px}.panel-head h2{font-size:12px}.panel-head p{font-size:8px}.panel-head .pill{display:none}.bar-chart{gap:9px;padding:0}.bar-rail{max-width:26px}.garden-note{font-size:8px}#toast{bottom:88px;font-size:11px}.auth-shell{grid-template-columns:1fr}.auth-story{min-height:0;padding:28px 30px 30px}.auth-story .brand{font-size:26px}.story-copy{padding-top:33px;margin:0}.story-copy>.eyebrow{font-size:8px;margin-bottom:14px}.story-copy h1{font-size:41px;letter-spacing:-1.8px}.story-copy h1 br{display:none}.story-copy>p{font-size:11px;line-height:1.8;margin-top:14px;max-width:250px}.story-orbit{position:absolute;right:10px;bottom:-25px;width:250px;transform:scale(.68);transform-origin:bottom right}.auth-footer{display:none}.auth-form-wrap{padding:34px 30px 50px}.auth-form{max-width:430px}.auth-form>h2{font-size:24px}.mini-label{font-size:7px;margin-bottom:15px}.desktop-only{display:none}}
@media(max-width:480px){.topbar{padding:0 17px}.breadcrumb{font-size:9px}.topbar-right{gap:5px}.main-content{padding:27px 17px}.page-heading h1{font-size:26px}.page-heading>.button{font-size:9px;padding:8px 10px;gap:4px}.page-heading>.button .icon{width:13px}.page-heading:has(>.text-button){display:block}.page-heading>.text-button{margin-top:14px}.week-strip{margin-bottom:23px}.week-day{width:calc((100vw - 106px)/7);min-height:69px}.week-day>span{font-size:8px}.week-day>strong{font-size:16px}.week-strip>.icon-btn{width:20px}.activity-row{gap:9px;padding:16px 11px}.activity-row .badge{width:35px;height:35px;border-radius:10px}.activity-row .badge .icon{width:20px}.activity-text>strong{font-size:11px}.activity-text>span{font-size:8px}.row-edit{width:22px}.row-edit .icon{width:12px}.check-circle{width:20px;height:20px}.counter>.icon-btn{width:22px}.counter>span{font-size:9px;min-width:19px}.today-aside{gap:12px;grid-template-columns:1fr}.progress-card{grid-template-columns:125px 1fr;padding:20px 25px 0}.card-eyebrow{font-size:9px}.progress-ring{width:108px;height:108px}.progress-card h3{font-size:13px}.progress-card>p{font-size:10px}.progress-card-footer{margin:0 -25px;font-size:9px}.note-card{padding:23px;min-height:134px}.note-card>p{font-size:14px}.habit-grid{grid-template-columns:1fr}.habit-card{padding:23px}.habit-note{min-height:0}.habit-days{max-width:255px}.habit-days>span{font-size:10px}.habit-schedule{font-size:10px}.habit-card-footer{font-size:10px}.strength-heading{font-size:10px}.habit-card h3{font-size:16px}.section-toolbar{gap:7px}.section-toolbar>.small-muted{font-size:8px;max-width:110px;text-align:right}.segmented button{padding:8px 10px;font-size:10px}.stat-grid{gap:8px}.stat-card{padding:15px 10px}.stat-card>span{font-size:8px;min-height:24px}.stat-card>strong{font-size:27px;margin-top:8px}.stat-card strong>small{font-size:9px;display:inline}.stat-card p{font-size:7px;line-height:1.7;margin-top:7px}.insights-grid{grid-template-columns:1fr;gap:16px}.panel{padding:22px 18px}.panel-head h2{font-size:14px}.panel-head p{font-size:9px}.panel-head .pill{display:inline-flex}.heatmap{grid-template-columns:repeat(14,1fr);grid-template-rows:repeat(6,1fr);gap:5px}.heatmap-legend>span:first-child{display:block}.bar-chart{gap:20px}.habit-breakdown{padding-bottom:10px}.workspace-footer{margin-left:17px;margin-right:17px;font-size:7px}.auth-story{padding:25px}.story-copy h1{font-size:36px;max-width:260px;line-height:1.2}.story-copy h1 em{display:block}.story-copy>p{max-width:190px;font-size:10px}.story-copy>.eyebrow{font-size:7px}.story-orbit{right:-12px;bottom:-10px;transform:scale(.56)}.auth-form-wrap{padding:32px 25px 45px}.auth-story>.brand{font-size:25px}.auth-story .brand-mark{width:33px;height:33px}.auth-form>h2{font-size:23px}.auth-form>.muted{font-size:10px}dialog{padding:29px 22px;border-radius:16px;max-width:calc(100vw - 22px)}dialog h2{font-size:22px}.icon-picker{gap:6px}.icon-option>span .icon{width:18px;height:18px}.day-picker{gap:7px}.day-picker>label{max-width:none}.day-picker span{font-size:11px}.form-actions .button{font-size:10px;padding:11px 12px}.form-actions>.text-button{font-size:10px}.choice-list>button{padding:17px 12px;gap:11px}.choice-list strong{font-size:12px}.choice-list small{font-size:9px}.choice-list .badge{width:38px;height:38px}.formula{font-size:10px}.connection{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 43px;background:#edf3e3;color:#8b9b79;font-size:10px}.demo-banner .text-button{font-size:10px}@media(max-width:760px){.demo-banner{padding:10px 17px;font-size:9px}.demo-banner .text-button{font-size:9px}}
/* iPhone: readable inputs, 44px controls, safe-area spacing, and a central Add tab. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
body{font-size:15px}
.workspace{min-height:100dvh}.topbar{padding-top:env(safe-area-inset-top);min-height:calc(66px + env(safe-area-inset-top))}.topbar .breadcrumb{font-size:12px}.topbar-right>.button{display:none}.mobile-settings{width:44px;height:44px}.mobile-settings .icon{width:22px;height:22px}
.mobile-nav{gap:4px;padding:7px 9px calc(7px + env(safe-area-inset-bottom))}.mobile-nav button{width:19%;min-height:49px;font-size:10px;gap:5px}.mobile-nav button .icon{width:22px;height:22px}.mobile-nav .mobile-add{background:var(--green);color:#fff;border-radius:14px;max-width:60px}.mobile-nav .mobile-add .icon{width:24px;height:24px}
.page-heading .eyebrow{font-size:10px;letter-spacing:1.2px}.page-heading .muted{font-size:13px;color:#788671}.page-heading>.button{min-height:44px;font-size:12px}.page-heading>.text-button{min-height:44px;font-size:12px}
.week-strip{padding:8px 2px;gap:0}.week-strip>.icon-btn{width:28px;min-height:44px}.week-day{width:calc((100vw - 100px)/7);min-height:72px}.week-day>span{font-size:10px}.week-day>strong{font-size:18px}.week-day>i{width:4px;height:4px}
.list-heading h2{font-size:18px}.count-label{font-size:12px}.period-title{gap:7px;margin-bottom:10px}.period-title h3,.period-title>span{font-size:12px;color:#7d8b72}.period-title .icon{width:17px;height:17px}.date-picker{width:44px;height:44px}.date-tools>.text-button{min-height:44px;font-size:13px}
.activity-row{display:grid;grid-template-columns:44px 36px minmax(0,1fr) 40px;gap:8px;padding:12px 8px;min-height:88px;position:relative}.activity-row .badge{width:36px;height:40px;border-radius:11px;grid-column:2;grid-row:1}.activity-row .badge .icon{width:23px;height:23px}.activity-text{grid-column:3;grid-row:1}.activity-text>strong{font-size:15px;font-weight:500;color:#40543a;line-height:1.4}.activity-text>span{font-size:11px;color:#8c9980;margin-top:5px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.activity-row.completed .activity-text>strong{color:#8c9a7f}
.check-circle{grid-column:1;grid-row:1;width:44px;height:44px;position:relative;border:0;background:transparent;color:white}.check-circle::before{content:'';position:absolute;width:23px;height:23px;border:1.5px solid #cbd6c0;border-radius:50%;background:white}.check-circle.checked{background:transparent}.check-circle.checked::before{background:#6f9663;border-color:#6f9663}.check-circle .icon{position:relative;z-index:1;width:17px;height:17px}.row-edit{grid-column:4;grid-row:1;width:40px;height:44px}.row-edit .icon{width:17px;height:17px}.row-streak{display:none}.priority-mark{grid-column:3;grid-row:2;font-size:11px}.priority-mark::after{content:' High priority';font-size:11px}.counter{grid-column:3 / 5;grid-row:2;justify-self:start;gap:3px;display:flex;margin-top:1px}.counter>.icon-btn{width:44px;height:44px;font-size:22px;color:#668356}.counter>span{font-size:13px;min-width:36px}.activity-row:has(.counter){padding-top:14px;padding-bottom:12px}
.add-line{min-height:48px;font-size:13px}.add-line .icon{width:18px;height:18px}.progress-card h3{font-size:15px}.progress-card>p{font-size:12px}.card-eyebrow{font-size:10px}.progress-ring div>span{font-size:11px}.progress-card-footer{font-size:11px;min-height:43px}.progress-card-footer .icon{width:15px;height:15px}.insight-link{display:block;padding:5px 0}.insight-link>span{font-size:13px}.insight-link>p{font-size:12px;margin-top:7px}.insight-link>.text-button{font-size:13px;min-height:44px;margin-top:0}.today-aside{grid-template-columns:1fr;gap:22px}.workspace-footer{margin-bottom:87px;font-size:10px}.demo-banner{font-size:10px;align-items:center;gap:8px}.demo-banner .text-button{font-size:11px;min-height:36px}.notice{font-size:13px}
.segmented button{min-height:44px;font-size:13px;padding:10px 12px}.segmented button span{font-size:11px}.section-toolbar>.small-muted{display:none}.habit-grid{grid-template-columns:1fr}.habit-card h3{font-size:18px}.habit-note{font-size:13px;min-height:0}.habit-schedule{font-size:12px;gap:7px}.habit-schedule .icon{width:16px;height:16px}.habit-days{max-width:300px;gap:9px}.habit-days>span{font-size:12px;max-width:33px}.strength-heading{font-size:12px}.strength-heading>strong{font-size:14px}.strength-heading small{font-size:8px}.habit-card-footer{font-size:11px;padding-top:18px}.habit-card-footer .icon{width:16px;height:16px}.habit-card-top>.icon-btn{width:44px;height:44px}.habit-card-top>.icon-btn .icon{width:20px;height:20px}
.task-group>h3{font-size:14px}.pill.overdue{font-size:11px}.stat-grid{gap:9px}.stat-card{padding:17px 11px}.stat-card>span{font-size:11px;min-height:36px;line-height:1.5}.stat-card>strong{font-size:28px}.stat-card p{font-size:10px;line-height:1.6}.stat-card strong>small{font-size:10px}.insights-grid{grid-template-columns:1fr;gap:18px}.panel-head h2{font-size:16px}.panel-head p{font-size:12px}.panel-head .pill{font-size:10px}.panel-head{margin-bottom:23px}.bar-column>span,.bar-column>strong{font-size:11px}.bar-chart{height:190px;gap:17px}.bar-rail{height:135px}.heatmap-legend{font-size:10px;flex-wrap:wrap}.heatmap-legend>span:first-child{display:block}.garden-note{font-size:11px}.pill{font-size:11px}table{font-size:12px}.table-habit>strong{font-size:13px;max-width:160px}.table-strength>strong{font-size:12px}.table-strength>.strength-track{width:50px}
.auth-story{padding-top:calc(25px + env(safe-area-inset-top));padding-bottom:25px}.auth-story .story-copy{padding-top:22px}.story-copy h1{font-size:33px}.story-copy>p{font-size:12px;max-width:210px}.story-copy>.eyebrow{font-size:9px}.story-orbit{transform:scale(.48);right:-3px;bottom:3px}.auth-form-wrap{padding-bottom:calc(40px + env(safe-area-inset-bottom))}.auth-form>h2{font-size:26px}.auth-form>.muted{font-size:13px}.mini-label{font-size:10px;line-height:1.7}.auth-form label{font-size:13px}.auth-form input{font-size:16px;min-height:49px}.auth-form .check-label input{min-height:20px;width:20px;height:20px}.auth-form .check-label{font-size:12px;align-items:center;gap:11px}.auth-submit{font-size:14px;min-height:49px}.auth-privacy p{font-size:12px;line-height:1.75;color:#8f9d82}.auth-form>.text-button{font-size:12px;min-height:44px;margin-top:8px}.auth-small{font-size:11px}.empty-state h3{font-size:18px}.empty-state p{font-size:13px}.empty-state .button{min-height:44px;font-size:13px}
dialog{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 18px);margin:auto 0 0;border-radius:22px 22px 0 0;border-bottom:0;padding:32px 22px calc(26px + env(safe-area-inset-bottom));overscroll-behavior:contain}dialog>.eyebrow{font-size:10px}dialog h2{font-size:24px}dialog>.muted{font-size:13px;line-height:1.7}.modal-close{width:44px;height:44px;top:8px;right:10px}.modal-close .icon{width:21px;height:21px}label,legend{font-size:13px}input,select,textarea,.auth-form input{font-size:16px;min-height:48px;border-radius:10px}.form-grid{gap:12px}.form-grid label{min-width:0}.optional{font-size:11px}.form-note,.form-error{font-size:12px}.check-label{font-size:13px;min-height:44px;align-items:center}.check-label input{min-height:20px;width:20px;height:20px}.icon-picker{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.icon-option>span{min-height:44px}.icon-option>span .icon{width:23px;height:23px}.color-picker{gap:8px;justify-content:space-between}.color-option{width:44px;height:44px;display:grid;place-items:center}.color-option>span{width:32px;height:32px}.day-picker{gap:3px;justify-content:space-between}.day-picker>label{min-height:44px;min-width:40px;flex:1}.day-picker span{min-height:42px;aspect-ratio:auto;font-size:13px}.form-actions{position:sticky;bottom:calc(-26px - env(safe-area-inset-bottom));background:#fcfdf9;padding:15px 0 calc(8px + env(safe-area-inset-bottom));margin-top:20px;z-index:2}.form-actions>.button,.full-width{min-height:48px;font-size:14px}.form-actions>.text-button{min-height:44px;font-size:12px}.text-button{min-height:44px;font-size:13px}.choice-list strong{font-size:16px}.choice-list small{font-size:12px}.choice-list .badge{width:44px;height:44px}.choice-list>button{padding:20px 14px;gap:13px}.settings-group h3{font-size:16px}.settings-group p{font-size:13px}.settings-buttons .button{min-height:46px;font-size:12px}.version-label{font-size:11px}.explanation{font-size:14px}.formula{font-size:12px;overflow-wrap:anywhere}.formula small{font-size:11px}input[type="file"]{font-size:13px}input[type="file"]::file-selector-button{min-height:32px}.button{min-height:44px}#toast{bottom:calc(89px + env(safe-area-inset-bottom));font-size:13px}
}
@media(max-width:360px){.main-content{padding-left:12px;padding-right:12px}.activity-row{grid-template-columns:40px 32px minmax(0,1fr) 36px;gap:6px;padding-left:5px;padding-right:5px}.activity-row .badge{width:32px;height:37px}.activity-text>strong{font-size:14px}.row-edit{width:36px}.stat-card>span{font-size:10px}.stat-card p{font-size:9px}.story-orbit{display:none}.story-copy>p{max-width:100%}}

.phone-progress{display:none}
@media(max-width:760px){.phone-progress{display:block;background:#edf3e5;border:1px solid #e1e9d7;border-radius:13px;padding:16px;margin-bottom:20px}.phone-progress>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;color:#708862}.phone-progress strong{font-weight:500;color:#526f43}.phone-progress .strength-track{height:6px;background:#dce7cf}.phone-progress .strength-track>i{background:#779b5f}.today-aside .progress-card{display:none}.auth-story .story-copy{display:none}.auth-story{padding-bottom:19px}.auth-form-wrap{padding-top:24px}.row-edit{width:44px}.activity-row{grid-template-columns:44px 36px minmax(0,1fr) 44px}.demo-banner>span{max-width:52%}.workspace-footer{gap:12px}.day-picker input,.icon-option input,.color-option input{min-height:0}.auth-privacy p{color:#718363}.activity-text>span{color:#7f8d73}.page-heading .muted{color:#6d7d64}.period-title h3,.period-title>span{color:#6f8063}.habit-note{color:#7f8f71}.habit-card-footer{color:#718463}.stat-card>span{color:#758867}.stat-card p{color:#7e8d73}.panel-head p{color:#7d8d71}.settings-group p{color:#788a6b}.form-note{color:#7c8c70}.auth-form>.muted{color:#75846b}}

@media(max-width:760px){.habit-breakdown{padding-bottom:20px}.habit-breakdown .table-scroll{overflow:visible}.habit-breakdown table,.habit-breakdown tbody{display:block;width:100%;white-space:normal}.habit-breakdown thead{display:none}.habit-breakdown tbody{display:grid;gap:16px}.habit-breakdown tbody tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #e6ecde;border-radius:13px;padding:15px;gap:15px;background:#fcfdf9}.habit-breakdown td{padding:0;border:0;display:flex;flex-direction:column;gap:7px;font-size:13px;color:#617851}.habit-breakdown td:first-child{grid-column:1/-1;border-bottom:1px solid #e9eee3;padding-bottom:12px}.habit-breakdown td[data-label]::before{content:attr(data-label);color:#8a9b7d;font-size:11px;display:block}.habit-breakdown td .pill{align-self:flex-start;font-size:10px}.habit-breakdown .table-habit>strong{font-size:15px;max-width:230px;white-space:normal;overflow-wrap:anywhere}.habit-breakdown .table-habit .badge{width:38px;height:38px}.habit-breakdown .table-strength .strength-track{width:70px}.habit-breakdown .table-strength>strong{font-size:13px}.form-grid input[type=date]{max-width:100%;min-width:0}.insight-link>p{font-size:12px}}

.sync-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 43px;border-bottom:1px solid #e5ebdc;background:#eef4e7;color:#678358;font-size:12px}.sync-banner.conflict{background:#fff3df;color:#8d6934}.sync-banner .text-button{font-size:12px}.history-toolbar{margin:-8px 0 20px}.history-toolbar .segmented button{font-size:12px}.date-presets{display:flex;gap:9px;flex-wrap:wrap;margin:-3px 0 17px}.setup-status{font-size:12px;line-height:1.7;color:#839375;margin:16px 0}.sync-banner .text-button{white-space:nowrap}
@media(max-width:760px){.sync-banner{padding:5px 17px;font-size:12px;gap:8px}.sync-banner .text-button{font-size:12px;min-height:38px}.history-toolbar .segmented button{font-size:13px;min-height:44px;padding:10px 16px}.date-presets>.button{min-height:44px;font-size:13px;padding:10px 16px}.auth-form input[name=username]{text-transform:none}.setup-status{font-size:12px}.form-actions .button{white-space:normal}.history-toolbar{margin-top:-7px}.sync-banner>span{line-height:1.5}}

.habit-history{margin-top:13px;font-size:11px}@media(max-width:760px){.habit-history{min-height:44px;font-size:13px;margin-top:8px}}

/* Habit choices and touch ordering */
.color-picker{flex-wrap:wrap;gap:8px}.color-option{width:44px;height:44px;display:grid;place-items:center}.color-option>span{width:34px;height:34px}.icon-picker{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.icon-option>span{min-height:44px}.icon-option>span .icon{width:24px;height:24px}.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.arrange-toggle{min-height:44px}.activity-row[data-habit-id]{-webkit-touch-callout:none;user-select:none}.reorder-controls{grid-column:2/-1;display:flex;align-items:center;gap:4px;color:#748568;font-size:12px}.reorder-controls .icon-btn{width:44px;height:44px}.drag-handle{cursor:grab;touch-action:none}.reorder-placeholder{opacity:.2;border:1px dashed #7f9a70}.reorder-ghost{pointer-events:none!important;z-index:10000;background:#fff!important;box-shadow:0 12px 32px #273b302b;border-radius:14px;border:1px solid #a8bd98;opacity:.97}.habit-dragging{cursor:grabbing;user-select:none}.habit-dragging .activity-row{touch-action:none}.task-section-label{font-size:15px;margin:28px 0 14px}.opening-app{min-height:80dvh;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:24px;color:#536d49}.opening-app>p{flex-basis:100%;text-align:center;font-size:14px}

/* Keep the page within the iPhone viewport; vertical scrolling remains enabled. */
html,body{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}body{touch-action:pan-y pinch-zoom}.app-shell,.workspace,.main-content,.today-layout,.today-main,.today-aside,.page-heading,.auth-shell,.auth-form-wrap{min-width:0;max-width:100%}.activity-text{min-width:0;overflow-wrap:anywhere}.activity-text>strong{overflow-wrap:anywhere}
@media(max-width:600px){.history-toolbar{align-items:flex-start}.arrange-toggle{font-size:12px;padding:8px}.week-strip{max-width:100%;min-width:0}.page-heading>div,.form-grid>label,.settings-buttons{min-width:0}.reorder-controls{justify-content:flex-end}.color-picker{max-width:100%}.icon-picker{grid-template-columns:repeat(6,minmax(0,1fr))}.icon-option>span{min-height:44px}.icon-option{min-width:0}}

/* Prevent the Add form's weekday fieldset from setting a wider intrinsic size. */
#habit-form fieldset{min-inline-size:0;min-width:0;max-width:100%;padding:0}.day-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:100%}.day-picker>label{min-width:0;max-width:none;width:auto}.day-picker span{min-width:0;width:100%}
@media(max-width:760px){#modal{max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}#modal input,#modal select,#modal textarea{min-width:0;max-width:100%}}
@media(max-width:360px){.icon-picker{grid-template-columns:repeat(5,minmax(0,1fr))}}
