/* Feedback stays local to the action. System reduced-motion preference wins. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sidebar nav{position:relative;isolation:isolate}.nav-indicator{position:absolute;border-radius:14px;background:#e5efe4;pointer-events:none;z-index:0}.sidebar .nav-item{position:relative;z-index:1;background:transparent}.sidebar .nav-item:hover{background:#e8efe24d}.sidebar .nav-item.active{background:transparent}
.session-summary{position:relative;isolation:isolate;--completion:0;gap:16px}.session-summary::before{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#f7fcf3,#d8ebce);opacity:calc(var(--completion) * .55);transition:opacity 350ms ease;z-index:-1;pointer-events:none}.session-progress-group{display:flex;align-items:center;gap:15px;min-width:0}.progress-ring{width:53px;height:53px;position:relative;flex-shrink:0}.progress-ring svg{display:block;width:53px;height:53px;transform:rotate(-90deg);overflow:visible}.progress-ring-track{stroke:#e9eee3}.progress-ring-value{stroke:#7da76f;transition:stroke-dashoffset 390ms cubic-bezier(.2,.8,.25,1)}.progress-ring-symbol{position:absolute;inset:0;display:grid;place-items:center;color:#96b583}.progress-ring-symbol svg{width:19px;height:19px;transform:none}.session-progress-copy{display:flex;flex-direction:column;gap:3px}.session-progress-copy>span{font-size:10px;color:#9aa88b}.session-summary #session-progress{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:23px;line-height:1.35;font-variant-numeric:tabular-nums}.session-summary #session-progress .progress-total{font-size:16px;color:#9ca990;font-weight:500}.count-viewport{display:inline-block;position:relative;overflow:hidden;min-width:.7em;line-height:1.35;vertical-align:bottom}.count-viewport>span{display:block;font-size:inherit;color:inherit;font-weight:inherit;line-height:inherit}.count-viewport .counter-old{position:absolute;inset:0 auto auto 0}.done-toggle>span{transition:background-color 180ms,border-color 180ms,color 180ms}.done-toggle input.invalid+span{border-color:#b6574b;background:#fff1ed}.done-toggle input:checked+span svg path{stroke-dasharray:30;stroke-dashoffset:0;animation:tick-draw 220ms ease-out both}.set-row{transition:background-color 220ms}.set-row input[type=number]{transition:background-color 240ms,border-color 240ms}
dialog.motion-panel{overflow-x:hidden}.motion-panel .modal-content{will-change:auto}.completion-slot{display:inline-grid;place-items:center;flex:none;vertical-align:middle;position:relative;max-width:100%}.completion-button{max-width:100%;min-width:0;white-space:nowrap;overflow:visible;transition:none!important;flex-shrink:0!important}.completion-button:disabled{opacity:1;cursor:wait}.completion-button[data-feedback=success]{cursor:default}.completion-check{width:23px;height:23px;flex-shrink:0}.completion-check path{stroke-dasharray:30;stroke-dashoffset:0;animation:tick-draw 300ms ease-out both}.button-spinner{height:15px;width:15px;border-radius:50%;border:1.8px solid #ffffff55;border-top-color:#fff;animation:button-spin 650ms linear infinite;flex-shrink:0}.completion-particle{position:fixed;z-index:110;width:5px;height:5px;pointer-events:none;border-radius:50%;will-change:transform,opacity}.session-actions[aria-busy=true]{pointer-events:none}
.session-summary #session-progress .count-viewport{font-size:inherit;color:inherit;font-weight:inherit}
.completion-check path{animation-delay:160ms}
@keyframes tick-draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}@keyframes button-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.nav-indicator{border-radius:24px;background:#e6efdf9e}.session-summary{gap:12px}.session-progress-group{gap:12px}.progress-ring,.progress-ring>svg{width:47px;height:47px}.session-summary #session-progress{font-size:23px}.session-summary #session-progress .progress-total{font-size:16px}.session-progress-copy>span{font-size:9px}.session-summary>p{margin-top:0}.completion-slot{max-width:60%}}
@media(prefers-reduced-motion:reduce){.progress-ring-value,.session-summary::before,.set-row,.set-row input,.done-toggle>span{transition:none!important}.completion-check path,.done-toggle input:checked+span svg path,.button-spinner{animation:none!important}.completion-particle{display:none!important}.motion-panel .modal-content{transform:none!important;clip-path:none!important}.nav-indicator{animation:none!important}}
