/* v19: readable type, quiet icons and clear visual hierarchy. */
:root{--reading-ink:#2e3c34;--reading-muted:#546354;--reading-accent:#3f6247}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;font-size:17px;line-height:1.7;color:var(--reading-ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input,textarea,select{font-family:inherit}
h1,h2,h3,h4{font-family:inherit;font-weight:700;letter-spacing:-.02em;line-height:1.3;color:#2c4636}
header h1{font-family:inherit;font-weight:700;font-size:28px;letter-spacing:-.04em}
header small{font-size:11px;letter-spacing:.09em;font-weight:650;color:#546b58}
header .privacy{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:#446046}
.ui-icon{display:inline-block;flex:0 0 auto;width:22px;height:22px;vertical-align:-4px;color:currentColor}
header .privacy .ui-icon{width:14px;height:14px}
nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:55px;color:#65725f}
nav button .ui-icon{width:24px;height:24px;stroke-width:1.8}
nav span{font-size:12px;font-weight:600;line-height:1.2;margin:0}
nav .on{color:#31533a;background:#e4eedf}
.day-head .tag{font-size:13px;font-weight:600;color:#62705d}
.day-head h2{font-family:inherit;font-size:29px;font-weight:720;letter-spacing:-.035em;line-height:1.2}
.day-head h2 span{font-family:inherit;font-size:18px;font-weight:500;color:#65745f}
.day-progress-row{font-size:13px;font-weight:650;color:#4a6846}
.day-arrow{display:grid;place-items:center;min-height:44px;min-width:44px}
.day-arrow .ui-icon{width:19px;height:19px}
.wellbeing-strip{padding:13px 14px;min-height:50px;align-items:center}
.wellbeing-strip span:first-child{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:650}
.wellbeing-strip span:last-child{font-size:12px;color:#536b4f}
.grid-intro{align-items:center;margin:2px 0 12px}
.grid-intro h3{font-size:18px;letter-spacing:-.02em;font-weight:700}
.grid-intro>span{font-size:12px;color:#5c6d56}
.day-tile{min-height:215px;border-radius:25px}
.tile-art{width:118px;height:118px;top:7px;right:10px}
.day-tile-copy{left:16px;right:12px;bottom:14px;gap:5px}
.day-tile-copy b{font-family:inherit;font-size:23px;font-weight:720;line-height:1.15;letter-spacing:-.035em;color:#303d2e}
.day-tile-copy small{font-size:13px;line-height:1.35;color:#405039;max-width:100%}
.tile-status{align-self:flex-start;margin-top:3px;padding:4px 8px;border-radius:8px;background:#ffffff80;color:#385331;font-size:12px;line-height:1.2;font-weight:650}
.day-tile.is-done .tile-status{background:#e9f3e2;color:#345b2c}
.day-tile-mark{width:29px;height:29px;color:#365132}
.day-tile-mark .ui-icon{width:17px;height:17px;stroke-width:2}
.day-grid-footer{font-size:13px;line-height:1.45;color:#50664b}.text-action{font-size:14px;color:#375e3c;min-height:44px;display:inline-flex;align-items:center;gap:5px}
.text-action .ui-icon{width:18px;height:18px}
.compact-back{font-size:15px;display:inline-flex;align-items:center;gap:7px}.compact-back .ui-icon{width:19px;height:19px}
.block-cover{min-height:162px;padding:24px 20px}
.block-cover h2{font-family:inherit;font-size:30px;font-weight:730;line-height:1.2;letter-spacing:-.035em;margin:8px 0 5px}
.block-cover p{font-size:14px;line-height:1.5;color:#43533c;margin-bottom:12px}
.block-cover .section-kicker{font-size:12px;font-weight:600;color:#516444;letter-spacing:0}
.block-status{font-size:13px;font-weight:650;padding:5px 9px;color:#3e5d35}
.block-cover-art{width:138px;height:138px;right:10px;top:12px}
.section-tabs button{font-size:15px;line-height:1.4;padding:12px 7px;min-height:48px}
.section-card{padding:23px 21px}
.task-title,.section-card>h3{display:flex;align-items:flex-start;gap:10px;font-family:inherit;font-size:21px!important;font-weight:720!important;line-height:1.4;color:#2d4936;margin:0 0 16px!important;letter-spacing:-.025em}
.task-title>.ui-icon{width:24px;height:24px;margin-top:3px;color:#64815c}
.task-content,.mut,.task-content .mut{font-size:17px;line-height:1.75;color:#50604e}
.task-content b,.task-content strong{color:#314b36}
.task-content .task-lead{font-size:18px;line-height:1.7;font-weight:600;color:#324a36;margin:0 0 16px}
.task-paragraph,.text-section p{margin:0 0 17px;font-size:17px;line-height:1.8;color:#4c5d48}
.text-section{margin-bottom:20px}.text-section:last-child{margin-bottom:0}
.text-section h4{display:flex;gap:9px;align-items:flex-start;font-size:19px;line-height:1.45;margin:0 0 10px;color:#31503a}
.text-section h4 .ui-icon{margin-top:3px;color:#67855d}
.time-highlight{font-weight:750;white-space:normal;background:#f4e9c9;color:#604b1c!important;border-radius:5px;padding:1px 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.safety-emphasis{font-weight:750;color:#7c482e!important}
.purpose-note{display:block;background:#edf3e7;border:1px solid #dce8d2;border-left:4px solid #87a976;border-radius:4px 15px 15px 4px;padding:16px;margin:19px 0 6px;color:#3f5837}
.purpose-label{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:7px;color:#486a3d;letter-spacing:.01em}
.purpose-label strong{font-weight:750}.purpose-label .ui-icon{width:18px;height:18px}
.purpose-note p{margin:0;font-size:16px;line-height:1.75;color:#4a6042}
.notice{font-size:16px;line-height:1.75;padding:17px 18px;color:#485b42;border-radius:15px;margin:17px 0}
.notice.info{background:#eef3e9;border:1px solid #dfe8d7;color:#496141}
.notice.safety,.notice.danger{background:#fff0e4;border:1px solid #edd2ba;border-left:4px solid #c98652;color:#69452f}
.notice.safety .notice-title,.notice.danger>b:first-child{display:flex;align-items:center;gap:9px;font-size:17px;color:#7a4829;margin-bottom:10px;font-weight:750}
.notice.safety .ui-icon{width:21px;height:21px;stroke-width:1.9}
.notice b,.notice strong{font-family:inherit;font-size:inherit;font-weight:750;display:inline;color:inherit}
.btn{font-size:16px;font-weight:600;line-height:1.5;min-height:48px;padding:12px 15px;letter-spacing:0}
.video-link{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;text-align:left;margin-top:16px;line-height:1.5}
.video-link .ui-icon{width:20px;height:20px;flex:0 0 20px;margin-top:3px}
.video-note{font-size:15px!important;line-height:1.75;color:#566950!important;margin-top:10px!important;background:#f6f7f0;padding:12px 13px;border-radius:11px}
.replaceBtn{display:inline-flex;align-items:center;gap:8px;font-size:15px;margin:16px 0 0}
.replaceBtn .ui-icon{width:19px;height:19px}
.completion-control{padding:15px 14px;gap:12px;min-height:56px;margin-top:22px}
.completion-control b{font-size:16px!important;font-weight:700!important}
.editbox summary{font-size:14px;font-weight:500;line-height:1.55;color:#536d48;padding:12px 0}
.editbox summary .ui-icon{width:17px;height:17px;margin-right:6px}
.editbox textarea{font-size:17px;line-height:1.6}.autosave{font-size:12px;color:#607357;line-height:1.5;margin-top:5px}
.resultbox>b{display:flex;gap:8px;align-items:center;font-family:inherit;font-size:17px;color:#41583b;margin-bottom:14px}
.resultgrid label{font-size:14px;line-height:1.5;color:#4d6247}.resultgrid label>.ui-icon{width:16px;height:16px;margin-right:5px}
.resultgrid input{font-size:17px;min-height:46px}
.exercise-list>b{font-family:inherit;font-size:18px;line-height:1.5;display:block;margin-bottom:13px}
.move{align-items:flex-start;padding:13px 0;gap:12px}.move strong{font-size:16px;line-height:1.65;color:#3d5138;font-weight:600}.move small{font-size:14px!important;line-height:1.6!important;color:#59714b!important;display:block;margin-top:5px;font-weight:600}.move-num{width:27px;height:27px;min-width:27px;font-size:12px}
.source-video{padding:16px}.source-video>b{font-size:17px}.source-video .btn{font-size:15px}.source-video .mut{font-size:15px}
.video-label{display:flex;align-items:flex-start;gap:9px;font-family:inherit;font-size:18px;line-height:1.5;font-weight:650;padding:17px}
.embedded-workout p{font-size:15px!important;line-height:1.7}
.block-next .btn{font-size:16px;display:flex;gap:8px;justify-content:center;align-items:center}.block-next .ui-icon{width:20px;height:20px}
.section-return .btn{font-size:15px;min-height:48px}
.hero h2{font-family:inherit;font-weight:700;font-size:28px;max-width:100%;letter-spacing:-.025em;line-height:1.35}.hero p{font-size:17px;line-height:1.75;max-width:100%}.hero:after{display:none}
.card h3{font-family:inherit;font-size:20px;font-weight:700;line-height:1.4}
.card p{font-size:17px;line-height:1.75}
.linkrow{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;font-size:17px;line-height:1.45;padding:15px 2px;color:#354f39;background:transparent;border:0;border-bottom:1px solid #e3e8db;text-align:left;cursor:pointer}
.inline-icon-title{display:inline-flex;align-items:center;gap:8px}
.linkrow>.ui-icon:first-child{width:23px;height:23px;color:#66845b}.linkrow>span{flex:1}.linkrow>.ui-icon:last-child{width:18px;height:18px;color:#7f8d75}
.linkrow.is-caution{color:#8b583c}.linkrow.is-caution>.ui-icon{color:#a9704b}
.title{font-size:16px;font-weight:650;color:#435c3b}.scale button{font-size:14px;min-height:40px}
.wellbeing-card .scale{margin-bottom:23px}.wellbeing-card [data-body]{font-size:14px;display:flex;align-items:center;justify-content:center;gap:7px;flex:1;padding:11px 7px;min-width:0}.wellbeing-card [data-body] .body-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px}.body-green{background:#73a968}.body-yellow{background:#cda33a}.body-red{background:#cb765f}
select,textarea,input[type=number]{font-size:17px!important;line-height:1.55;min-height:48px}
.entry{font-size:16px;line-height:1.75}.metric .mut{font-size:14px}
.summary-row{display:flex;align-items:center;gap:12px}.summary-row .ui-icon{color:#74886a}.summary-row.complete .ui-icon{color:#4b7340}
@media(min-width:640px){.day-tile{min-height:240px}.tile-art{width:139px;height:139px}.day-tile-copy b{font-size:25px}.day-tile-copy small{font-size:13px}.tile-status{font-size:12px}.block-cover-art{width:138px;height:138px}.section-card{padding:26px}.resultgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:420px){header{padding-top:18px}header h1{font-size:24px;max-width:230px}header small{font-size:10px}header .privacy{font-size:10px;padding:5px 6px}header .privacy .ui-icon{width:13px;height:13px}.day-head h2{font-size:27px}.day-grid{gap:11px}.day-tile{min-height:210px}.tile-art{width:106px;height:106px;top:7px;right:8px}.day-tile-copy{left:12px;right:10px;bottom:13px;gap:5px}.day-tile-copy b{font-size:22px}.day-tile-copy small{font-size:12px;line-height:1.35;min-height:32px;max-width:140px}.tile-status{font-size:11px}.day-tile-mark{left:10px;top:10px;width:27px;height:27px}.grid-intro h3{font-size:16px}.grid-intro>span{font-size:11px}.wellbeing-strip span:first-child{font-size:14px}.wellbeing-strip span:last-child{font-size:11px;max-width:118px;text-align:right}.day-grid-footer{font-size:12px}.text-action{font-size:13px}.block-cover{padding:21px 16px}.block-cover>div{max-width:67%}.block-cover h2{font-size:27px}.block-cover p{font-size:13px}.block-cover .section-kicker{font-size:11px}.block-cover-art{width:120px;height:120px;right:4px;top:23px}.section-card{padding:21px 16px}.task-title{font-size:20px!important}.purpose-note{padding:14px}.section-tabs button{font-size:14px}.notice{padding:15px}.btn{font-size:15px}nav span{font-size:11px}}
@media(max-width:340px){header h1{font-size:22px}header .privacy{font-size:9px}.day-tile{min-height:210px}.tile-art{width:98px;height:98px}.day-tile-copy b{font-size:20px}.day-tile-copy small{font-size:12px}.tile-status{font-size:11px}.block-cover-art{width:103px;height:103px;top:30px}.block-cover h2{font-size:24px}.block-cover .section-kicker{font-size:10px}.grid-intro>span{display:none}.section-card{padding:19px 14px}.task-content,.mut,.task-content .mut{font-size:16px}.task-content .task-lead{font-size:17px}.wellbeing-card [data-body]{flex-direction:column;font-size:13px}}
