:root{--forest:#17352a;--forest2:#254a39;--sage:#dcebdd;--gold:#d5a64d;--ink:#17251e;--muted:#68756d;--line:#e2e8e2;--paper:#f5f7f3;--white:#fff;--radius:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding:0 0 env(safe-area-inset-bottom);background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}.topbar{height:76px;padding:0 max(18px,calc((100vw - 720px)/2));display:flex;align-items:center;gap:12px;background:var(--forest);color:#fff;position:sticky;top:0;z-index:5}.brand-mark{width:42px;height:42px;border-radius:14px;background:#e3eddf;color:var(--forest);display:grid;place-items:center;font-weight:900;font-size:18px}.brand-mark span{font-size:10px;margin-left:1px}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy small{color:#c4d4c8;font-size:11px}.topbar .button{margin-left:auto}.page{max-width:720px;margin:0 auto;padding:18px 16px 32px}.panel{background:var(--forest);color:white;border-radius:26px;padding:23px 21px;box-shadow:0 10px 28px #17352a18}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px;color:#829c89}.hero .eyebrow{color:#b8d2b9}.hero-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.hero h1{font-size:clamp(25px,6vw,34px);line-height:1.1;letter-spacing:-1px;margin:14px 0 8px;max-width:390px}.hero p{margin:0}.muted{color:var(--muted);line-height:1.5}.hero .muted{color:#d0ddd2;font-size:13px}.day-ring{width:72px;height:72px;flex:none;border:2px solid #75947d;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.day-ring span{font-size:25px;font-weight:800;line-height:1}.day-ring small{font-size:9px;letter-spacing:1.5px;margin-top:3px;color:#d1e2d2}.progress-track{height:7px;background:#42604e;border-radius:20px;margin-top:24px;overflow:hidden}.progress-fill{height:100%;background:#d5e9bd;border-radius:20px;transition:width .25s}.progress-caption{display:flex;justify-content:space-between;margin-top:8px;font-size:11px;color:#d1ddd3}.hero-quote{margin-top:19px!important;font-size:13px;font-style:italic;color:#d9e5d9}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0 19px}.stat-card{background:white;border:1px solid var(--line);border-radius:17px;padding:14px 12px;display:flex;flex-direction:column;gap:5px;min-width:0}.stat-icon{font-size:19px}.stat-card strong{font-size:24px;letter-spacing:-.7px}.stat-card small{font-size:11px;color:var(--muted)}.tabs{display:flex;gap:5px;padding:5px;background:#e9eee8;border-radius:15px;margin-bottom:24px}.tab{border:0;background:transparent;color:#657269;padding:11px 7px;flex:1;border-radius:11px;font-size:13px;font-weight:700}.tab.active{background:#fff;color:var(--forest);box-shadow:0 2px 8px #203c2b0c}.tab-panel{animation:appear .2s ease}@keyframes appear{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-heading h2{font-size:24px;letter-spacing:-.7px;margin:5px 0 0}.pill{background:#e4eee4;color:#2b5b3d;border-radius:100px;padding:7px 10px;font-size:11px;font-weight:800;white-space:nowrap}.task-card{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 14px;margin-bottom:11px}.task-symbol{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;flex:none;font-size:22px;font-weight:800}.green{background:#e2efe3;color:#2b6841}.gold{background:#f7ecd5;color:#9a6b1b}.task-body{flex:1;min-width:0}.task-body h3{font-size:15px;margin:2px 0 5px}.task-body p{font-size:12px;color:var(--muted);line-height:1.5;margin:0 0 7px}.task-body small{font-size:11px;color:#42664b;font-weight:700}.switch{position:relative;display:inline-block;width:42px;height:25px;flex:none;margin-top:5px}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#dce3dc;border-radius:20px;transition:.2s}.switch span:before{content:"";position:absolute;width:19px;height:19px;left:3px;top:3px;background:white;border-radius:50%;box-shadow:0 1px 4px #0002;transition:.2s}.switch input:checked+span{background:#3d8053}.switch input:checked+span:before{transform:translateX(17px)}.field-label{display:block;font-size:12px;font-weight:800;margin:15px 0 8px;color:#34463a}textarea,input:not([type=checkbox]):not([type=time]){width:100%;border:1px solid #dce4dc;border-radius:13px;padding:12px;background:#fff;color:var(--ink);outline:none}textarea:focus,input:focus{border-color:#6b9b77;box-shadow:0 0 0 3px #6b9b771b}textarea{resize:vertical;line-height:1.5}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.button{border:0;border-radius:13px;padding:12px 15px;font-size:12px;font-weight:800;min-height:43px}.button-primary{background:var(--forest);color:white;flex:1}.button-outline{background:#fff;border:1px solid #d7e1d7;color:var(--forest);flex:1}.button-quiet{background:#315542;color:white;padding:9px 12px;min-height:36px}.text-button{background:transparent;border:0;color:#2e7046;font-weight:800;font-size:11px;padding:4px 0}.status{font-size:12px;line-height:1.45;color:#477451;margin-top:9px;min-height:0}.coach-note{display:flex;gap:11px;background:#eaf2e8;border-radius:16px;padding:14px;margin-top:17px;color:#274632}.coach-note>span{font-size:20px}.coach-note strong{font-size:12px}.coach-note p{font-size:12px;line-height:1.5;color:#5b6f60;margin:5px 0 0}.verse-card,.reflection-card,.settings-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:12px}.verse-label{font-size:10px;font-weight:900;letter-spacing:1.5px;color:#a37b35}.verse-card h3{font-size:17px;margin:9px 0}.verse-card p{font-size:13px;line-height:1.65;color:#59685e;margin:0}.small-note{font-size:11px;line-height:1.6;color:#77837a}.plan-list{display:flex;flex-direction:column;gap:9px}.plan-row{display:flex;align-items:flex-start;gap:12px;background:white;border:1px solid var(--line);border-radius:16px;padding:13px}.plan-day{width:70px;flex:none;font-size:12px;font-weight:800;padding-top:2px}.plan-copy{flex:1}.plan-copy strong{font-size:12px;display:block;margin-bottom:4px}.plan-copy p{font-size:11px;color:var(--muted);line-height:1.5;margin:0}.plan-tag{font-size:9px;font-weight:800;border-radius:30px;padding:6px 8px;background:#e1eee2;color:#2f6a41;white-space:nowrap}.plan-tag.rest{background:#f5ead5;color:#91671e}.subheading{font-size:16px;margin:22px 0 10px}.roadmap{display:grid;grid-template-columns:1fr 1fr;gap:9px}.roadmap div{display:flex;flex-direction:column;gap:6px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.roadmap b{font-size:12px}.roadmap span{font-size:11px;color:var(--muted);line-height:1.45}.settings-card input[type=time]{padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%}.compact{margin-bottom:4px}.compact h3{font-size:15px;margin:0}.compact p{font-size:11px;margin:5px 0}.partner-card{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.avatar{width:38px;height:38px;border-radius:50%;background:#e3eee2;display:grid;place-items:center;color:#2c6340;font-weight:900}.partner-info{flex:1}.partner-info strong{display:block;font-size:12px}.partner-info small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.partner-check{font-size:11px;font-weight:800;color:#2c7044}footer{text-align:center;padding:30px 0 5px;color:#6d7c70}footer p{font-weight:800;font-size:13px;margin:0 0 5px}footer small{font-size:10px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:#18372a;color:#fff;border-radius:12px;padding:12px 16px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;z-index:20;max-width:calc(100vw - 32px);text-align:center}.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:600px){.page{padding-top:24px}.hero{padding:28px}.stats-grid{gap:14px}.task-card{padding:18px}.tab{font-size:14px}}