@font-face{font-family:Local;src:local('Segoe UI')}*{box-sizing:border-box}html{color-scheme:light;scroll-behavior:smooth}body{margin:0;background:#f4f3ed;color:#253b35;font:16px Local,-apple-system,BlinkMacSystemFont,Arial,sans-serif;line-height:1.55}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;min-height:46px;border:1px solid #d7dcd2;border-radius:12px;padding:11px 18px;background:#fff;color:inherit;font-weight:600}button:hover{border-color:#658273;background:#eff4e9}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #ba793d;outline-offset:3px}a{color:#35604d}input,textarea,select{width:100%;padding:12px 14px;border:1px solid #ccd3c8;border-radius:10px;background:#fcfcf8;color:inherit;margin-top:6px;min-height:46px}textarea{min-height:100px;resize:vertical}label{display:block;margin:15px 0;font-size:14px;font-weight:600}label small{font-weight:400}input[type=checkbox]{width:21px;height:21px;min-height:21px;margin:0;accent-color:#46664f}input[type=range]{padding:0;accent-color:#4b6e50}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(32px,4vw,48px)/1.2 Georgia,serif;letter-spacing:-1px;margin-bottom:16px}h2{font:normal 27px/1.3 Georgia,serif}h3{font-size:17px}p{margin-bottom:15px}.muted,small{color:#68756d}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700;color:#697967;margin-bottom:12px}.shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;padding:35px 22px;background:#182d29;color:#f4f3ed;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:13px;align-items:center;font:27px Georgia,serif;margin-bottom:45px}.brand img{width:42px;height:42px}.brand small{font:10px Arial;letter-spacing:2px;display:block;color:#b3c3b7;margin-top:7px}.sidebar nav{display:grid;gap:8px}.nav{border:0;background:transparent;color:#c0cec4;text-align:left;border-radius:10px;padding:13px 15px;font-weight:400;display:flex;gap:13px;align-items:center}.nav.active{background:#334b40;color:#e4efc8}.nav:hover{background:#2a443a}.nav span:first-child{font-size:19px;width:23px;text-align:center}.sidebottom{margin-top:auto;padding-top:35px}.sidebottom p{font:italic 17px/1.6 Georgia,serif;color:#b8c7b6}.sidebottom button{background:transparent;color:#becbbf;border-color:#526055;width:100%}.main{grid-column:2;padding:35px clamp(22px,4vw,65px) 100px;max-width:1500px;width:100%;margin:auto}.topline{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:33px;font-size:13px;color:#6a786c}.private{display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:#7b8e66;display:inline-block}.header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.header p{margin:0;max-width:530px;color:#68756d}.pill{display:inline-flex;border:1px solid #d1d9ca;border-radius:100px;padding:8px 14px;font-size:12px;background:#e9ede1;white-space:nowrap}.primary{background:#294b3a;color:#f6f9ed;border-color:#294b3a}.primary:hover{background:#3f6447;color:#fff}.secondary{background:#e8eddc;border:0}.danger{color:#884b36;border-color:#d9b5a3}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.card{background:#fffefa;border:1px solid #dfe2d8;border-radius:18px;padding:26px;margin-bottom:22px}.card p:last-child{margin-bottom:0}.hero{background:#e6ecd8;border:0;position:relative;overflow:hidden;min-height:235px;display:flex;flex-direction:column;justify-content:center;padding:30px}.hero h2{font-size:34px;max-width:390px;line-height:1.2}.hero p{max-width:390px;color:#52654e}.hero button{align-self:flex-start}.hero::after{content:'↗';position:absolute;right:22px;bottom:-35px;font:210px Georgia;color:#ccd7b5;transform:rotate(-18deg);pointer-events:none}.hero>*{position:relative;z-index:1}.acute-card{background:#eee1d5;border-color:#e5d0bd}.acute-card h2{color:#754e39}.acute-card button{background:#81553e;color:white;border:0;width:100%;margin-top:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:grid;gap:10px}.moods{display:flex;gap:8px;flex-wrap:wrap}.moods button{font-size:13px;padding:9px 14px;background:#f7f8f1;font-weight:400}.moods button.selected{background:#dfe9ce;border-color:#809969}.check{display:flex;gap:13px;align-items:center;cursor:pointer;font-size:15px;margin:0;padding:13px 0;border-bottom:1px solid #edf0e8;font-weight:400}.check:last-child{border-bottom:0}.check:has(input:checked) span{text-decoration:line-through;color:#83917e}.number{font:40px Georgia,serif;color:#3d5b3d}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stats .card{padding:18px;margin:0}.stats small{display:block}.sectiontitle{display:flex;justify-content:space-between;align-items:center;margin:25px 0 15px}.sectiontitle h2{margin:0;font-size:23px}.linkbtn{border:0;background:none;padding:6px 0;min-height:44px;font-size:13px;color:#49674b}.hint{font-size:13px;border-left:3px solid #aab895;padding:10px 16px;background:#f0f2e9;margin:18px 0}.weeklist{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.weeklist button{padding:10px;font-size:12px}.weeklist button.active{background:#294b3a;color:white}.day{display:grid;grid-template-columns:32px 1fr auto;gap:13px;padding:16px 0;border-bottom:1px solid #e6e9df;align-items:start}.day .pill{font-size:10px;padding:5px 8px}.day p{font-size:14px}.day button{font-size:12px;min-height:40px;padding:8px 12px}.badge{font-size:11px;color:#4c674b;background:#eaf0e0;border-radius:6px;padding:4px 8px}.quote{border-left:2px solid #99aa83;margin:15px 0;padding-left:17px;white-space:pre-wrap;font-size:14px}.evidence{padding:20px 0;border-bottom:1px solid #e5e8df}.evidence h3{margin-bottom:6px}.evidence summary{cursor:pointer;min-height:44px;color:#365a3d}.evidence details{font-size:14px}.evidence pre{white-space:pre-wrap;font:inherit}.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:23px}.subnav button{font-size:13px}.subnav button.active{background:#294b3a;color:#fff}.empty{padding:30px;text-align:center;color:#778477}.journalentry{border-bottom:1px solid #e4e7dd;padding:18px 0}.journalentry p{white-space:pre-wrap;font-size:14px;margin-top:10px}.journalentry button{font-size:12px;min-height:40px}.overlay{position:fixed;inset:0;z-index:50;background:#172b27f5;overflow:auto;padding:30px 18px;color:#f2f5e9}.acute-inner{max-width:560px;margin:30px auto}.overlay h1{font-size:42px}.overlay .muted{color:#bccbb9}.overlay button{background:#dfeac7;color:#233e2d;border:0;width:100%;margin-bottom:10px}.overlay .plain{background:#2e473b;color:#e4eddb}.overlay .critical{background:#e6bd9d;color:#542f20}.overlay label{font-size:16px}.overlay input{background:#29463a;color:white;border-color:#78906b}.overlay .hint{background:#2f473a;border-color:#c7dca9}.close{display:flex;justify-content:space-between;align-items:center}.close button{width:auto;background:transparent;color:inherit;margin:0}.bigstep{font:28px/1.4 Georgia;margin:25px 0}.gate{max-width:470px;margin:8vh auto;padding:30px}.gate .brand{color:#2c4738;margin-bottom:40px}.gate h1{font-size:39px}.gate .card{padding:25px}.gate button{width:100%}.gate small{display:block;margin-top:15px}.error{color:#a1452c;font-size:14px}.bottomnav{display:none}progress{width:100%;height:8px;accent-color:#75905b}.chartrow{display:grid;grid-template-columns:80px 1fr 40px;gap:10px;font-size:12px;margin:12px 0;align-items:center}audio{max-width:100%;height:42px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:90%;background:#253c30;color:white;padding:12px 22px;border-radius:12px;z-index:100;display:none;font-size:14px}#toast.visible{display:block}.floating{display:none}.footertext{font-size:12px;margin-top:28px;color:#788371}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;padding:10px;border-bottom:1px solid #e4e7dd}body.dark{background:#15251f;color:#e2e8d8;color-scheme:dark}.dark .card{background:#21372c;border-color:#3d5040}.dark .hero{background:#344c32}.dark .hero p,.dark .muted,.dark small,.dark .header p{color:#b8c8ac}.dark input,.dark textarea,.dark select,.dark button{background:#2a4333;color:#e3ebd5;border-color:#52614b}.dark .acute-card{background:#4b372c}.dark .acute-card h2{color:#edc5a4}.dark .hint,.dark .pill,.dark .badge{background:#30472e;color:#d5e0c2}.dark .hero::after{color:#506642}.dark .primary{background:#c3d3a5;color:#1d3526}.dark a{color:#bfd4a5}.dark .moods button.selected{background:#546e43}.dark .eyebrow{color:#afc29e}.dark .quote{color:#dce7cf}@media(min-width:1450px){.main{padding-top:45px}}@media(max-width:1050px){.shell{grid-template-columns:205px 1fr}.sidebar{width:205px;padding:30px 15px}.main{padding:28px 25px 100px}.grid{grid-template-columns:1fr}.hero{min-height:210px}.weeklist{grid-template-columns:repeat(4,1fr)}.stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.shell{display:block}.sidebar{display:none}.main{padding:22px 18px 150px}.topline{padding-bottom:28px;font-size:11px}.header{align-items:flex-start}.header h1{font-size:36px}.header .pill{display:none}.header p{font-size:14px}.card{padding:22px;border-radius:16px;margin-bottom:17px}.grid{gap:0}.hero h2{font-size:31px;max-width:275px}.hero p{max-width:260px;font-size:14px}.hero::after{font-size:170px;right:0}.stats .card{padding:13px}.stats .number{font-size:31px}.stats small{font-size:10px}.bottomnav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;z-index:20;background:#fffefaee;backdrop-filter:blur(16px);border-top:1px solid #d8dece;padding:7px 5px max(8px,env(safe-area-inset-bottom))}.bottomnav button{display:grid;justify-items:center;gap:2px;border:0;background:none;font-size:10px;padding:7px 8px;font-weight:400;min-width:55px;color:#748270}.bottomnav button span{font-size:20px}.bottomnav button.active{color:#294b3a;font-weight:700}.dark .bottomnav{background:#21372cee}.dark .bottomnav button{color:#d3dfc6}.floating{display:block;position:fixed;bottom:calc(85px + env(safe-area-inset-bottom));right:17px;z-index:21;background:#80543e;color:#fff;border:0;border-radius:100px;padding:12px 18px;font-size:13px;box-shadow:0 4px 15px #0002}.weeklist{grid-template-columns:repeat(4,1fr)}.day{grid-template-columns:25px 1fr}.day>.row{grid-column:2}.gate{margin:3vh auto;padding:24px 18px}.acute-inner{margin:12px auto}.overlay h1{font-size:35px}.chartrow{grid-template-columns:64px 1fr 30px}.header{gap:10px}#toast{bottom:160px}.row button{flex-grow:1}.topline button{font-size:11px;min-height:38px;padding:5px 10px}}
.pillars,.pillar-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.pillars button{font-size:14px;text-align:left}.pillars .active,.relationship-menu .active{background:#294b3a;color:#fff}.pillar-cards .card{margin-bottom:0;display:flex;flex-direction:column}.pillar-cards button{margin-top:auto;align-self:flex-start}.relationship-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:25px}.relationship-menu button{text-align:left;font-size:13px;overflow-wrap:anywhere}.relationship-article{max-width:860px}.relationship-article h3{margin-top:30px}.relationship-article p{max-width:74ch}.relationship-article .lead{font:23px/1.4 Georgia,serif}.source-links{display:inline-flex;gap:5px;flex-wrap:wrap}.source-links button{font-size:12px;min-height:44px}.coverage{display:grid;grid-template-columns:minmax(0,2fr) minmax(50px,1fr);gap:12px}.coverage dd{margin:0;font-weight:700}.selected-quote{background:#304c3e;padding:18px;border-left:4px solid #d7e5b7}.dark .pillars .active,.dark .relationship-menu .active{background:#c3d3a5;color:#1d3526}@media(max-width:700px){.pillars{gap:8px}.pillars button{font-size:12px;padding:11px}.pillar-cards{grid-template-columns:1fr;gap:14px}.relationship-menu{grid-template-columns:1fr 1fr;gap:7px}.relationship-menu button{font-size:12px;padding:10px}.relationship-article .lead{font-size:21px}.coverage{font-size:13px;gap:10px}.bottomnav button{min-width:0;flex:1;padding:7px 4px}.nav{font-size:13px}}
