:root{font-family:system-ui,-apple-system,sans-serif;color:#183633;background:#f4f5ef;font-size:15px}*{box-sizing:border-box}body{margin:0}header{background:#102c2b;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:26px max(22px,calc((100vw - 960px)/2)) 25px}header small{font-size:9px;letter-spacing:2px;color:#b9cbc4}h1{font-size:24px;letter-spacing:-1px;margin:8px 0 0}h1 span{color:#d5f08c;margin-left:8px}header button{color:#fff;border-color:#44615a;background:transparent;font-size:23px}main{max-width:1000px;margin:auto;padding:22px 22px 60px}button{cursor:pointer;border:1px solid #d7dfd5;background:#fff;border-radius:12px;padding:12px 15px;color:inherit;font:inherit}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #6a9885;outline-offset:2px}.status{display:inline-block;font-size:11px;background:#e6edd9;color:#375637;padding:7px 11px;border-radius:20px}.intro{display:flex;justify-content:space-between;align-items:center;margin:26px 0}.intro small{color:#638078;text-transform:uppercase;letter-spacing:1.4px;font-size:11px}h2{font-size:32px;line-height:1.15;letter-spacing:-1px;margin:12px 0}p{color:#60756d;line-height:1.6}.intro p{font-size:13px;max-width:570px}.weeknav{display:flex;gap:6px}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:white;border:1px solid #e2e7dd;border-radius:18px;padding:19px}.stat small{color:#6e8075;font-size:11px}.stat strong{display:block;font-size:27px;margin:8px 0 4px;letter-spacing:-1px}.stat span{font-size:11px;color:#708174}nav{display:flex;gap:6px;margin:30px 0 22px;border-bottom:1px solid #d8e0d3;padding-bottom:12px}nav button{border:0;background:transparent;flex:1;padding:13px 6px;font-size:13px}nav .active{background:#183c35;color:#fff}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.sectionhead h3{font-size:20px;margin:0}.sectionhead p{font-size:12px;margin:4px 0}.primary{background:#183c35;color:white;border:0}.card{background:white;border:1px solid #e0e5d9;border-radius:18px;margin:10px 0;padding:18px;display:flex;gap:18px;align-items:flex-start}.day{width:44px;flex-shrink:0;text-align:center;background:#eff3e8;border-radius:11px;padding:9px 0;font-size:11px;color:#70806c}.day strong{display:block;color:#244639;font-size:22px}.cardbody{flex:1;min-width:0}.card h4{margin:2px 0 7px;font-size:16px}.card p{font-size:12px;margin:5px 0}.badge{display:inline-block;font-size:10px;background:#edf2e7;padding:5px 8px;border-radius:7px;margin:2px 0}.rest{background:transparent;border-style:dashed}.chart{display:flex;align-items:flex-end;gap:3px;height:43px;margin:12px 0}.chart i{background:#8fa982;min-width:5px;flex:1;border-radius:3px 3px 0 0}.meal{padding:12px 0;border-top:1px solid #edf0e7}.meal small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#7a8972}.meal h4{font-size:14px;margin-top:5px}details{font-size:12px;color:#5d7568}summary{cursor:pointer}details p{white-space:pre-wrap}.notice{padding:18px;border-radius:15px;background:#e9eee0;font-size:13px;line-height:1.6}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.metrics .card{display:block;margin:0}.metrics strong{font-size:27px;display:block;margin:12px 0}.hint{font-size:12px}dialog{border:0;border-radius:22px;max-width:520px;width:calc(100% - 28px);padding:26px;color:#183633;max-height:90vh}dialog::backdrop{background:#102c2baa}dialog h2{font-size:26px}dialog p{font-size:13px}label{display:block;font-size:12px;margin:16px 0}input,textarea{display:block;width:100%;padding:13px;margin-top:7px;border:1px solid #cad6ca;border-radius:10px;font:inherit}textarea{font-size:12px}dialog button{margin:5px 4px 5px 0}hr{border:0;border-top:1px solid #dce4d8;margin:25px 0}#message,#settingsMessage{font-size:13px;color:#655028;white-space:pre-wrap}@media(max-width:520px){header{padding:23px 22px}.stat{padding:13px 10px}.stat strong{font-size:24px}.intro h2{font-size:27px}.weeknav button{padding:10px}.sectionhead{align-items:flex-start}.sectionhead button{font-size:11px;padding:10px}.card{gap:12px;padding:15px}.summary{gap:7px}}
