.ca-challenges-hub,.ca-challenge{--ch-line:var(--ca-border,#e5e9e7);--ch-accent:var(--ca-primary,#315a47);--ch-muted:var(--ca-muted,#5b6860);color:var(--ca-text,#24342c)}
.ca-challenge-intro{max-width:780px;margin-bottom:32px}.ca-challenge-intro h2{margin-top:0}.ca-challenge-intro>p{color:var(--ch-muted)}.ca-challenge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ca-challenge-card{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--ch-line);border-radius:16px;background:#fff}.ca-challenge-card h3{font-size:clamp(1.15rem,2vw,1.45rem);margin:22px 0 12px}.ca-challenge-card p{font-size:.95rem}.ca-challenge-card .ca-btn{margin-top:auto}.ca-challenge-length{font-size:3.3rem;font-weight:600;letter-spacing:-.07em;line-height:1;color:var(--ch-accent)}.ca-challenge-length>span{font-size:.8rem;letter-spacing:0;font-weight:400}.ca-challenge-card-progress{font-weight:600;color:var(--ch-accent)}.ca-challenge-card-progress:empty{display:none}.ca-challenge-builder{padding:30px;border:1px solid var(--ch-line);border-radius:16px;margin:38px 0;background:var(--ca-surface,#f7f9f7)}.ca-challenge-builder h3{margin-top:0}.ca-challenge-builder p{max-width:650px}.ca-challenge-note,.ca-challenge-privacy{font-size:.88rem;line-height:1.65;color:var(--ch-muted)}.ca-challenge-privacy{max-width:830px}.ca-challenge-start{border:1px solid var(--ch-line);border-radius:16px;padding:30px}.ca-challenge-start h3{margin-top:0}.ca-challenge-save-choice{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}.ca-challenge-save-choice input{width:18px!important;height:18px;min-width:18px;margin-top:4px;accent-color:var(--ch-accent)}.ca-challenge-mode label{display:block;font-size:.84rem;font-weight:600;margin-bottom:7px}.ca-challenge-mode select{min-width:210px;max-width:100%;padding:12px 16px;border:1px solid var(--ch-line);border-radius:8px;background:#fff;color:inherit;font:inherit}.ca-challenge-status{min-height:1.5em;font-size:.9rem}.ca-challenge-dashboard{margin:30px 0}.ca-challenge-progress-summary{display:flex;flex-direction:column;gap:10px}.ca-challenge-progress-summary progress{width:100%;height:8px;border:0;border-radius:99px;background:var(--ch-line);color:var(--ch-accent);accent-color:var(--ch-accent);overflow:hidden}.ca-challenge-progress-summary progress::-webkit-progress-bar{background:var(--ch-line);border-radius:99px}.ca-challenge-progress-summary progress::-webkit-progress-value{background:var(--ch-accent);border-radius:99px}.ca-challenge-progress-summary progress::-moz-progress-bar{background:var(--ch-accent);border-radius:99px}.ca-challenge-calendar{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.ca-challenge-calendar-day{width:42px;height:42px;min-height:42px;padding:0!important;border:1px solid var(--ch-line);border-radius:50%;background:#fff;color:var(--ch-accent);font:inherit;font-size:.88rem;cursor:pointer}.ca-challenge-calendar-day.is-complete{background:var(--ch-accent);color:#fff;border-color:var(--ch-accent)}.ca-challenge-calendar-day.is-viewing{outline:2px solid var(--ch-accent);outline-offset:3px}.ca-challenge-daily-card{padding:clamp(24px,4vw,46px);border:1px solid var(--ch-line);border-radius:18px;background:#fff}.ca-challenge-day-heading{margin-top:10px}.ca-challenge-label{font-size:.8rem;letter-spacing:.03em;color:var(--ch-muted);margin-top:24px}.ca-challenge-affirmation{margin:12px 0 16px!important;border:0!important;padding:0!important;font-size:clamp(1.45rem,3vw,2.25rem);font-weight:500;line-height:1.5;color:var(--ch-accent);max-width:820px}.ca-challenge-practices{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid var(--ch-line);padding-top:26px;margin-top:26px}.ca-challenge-practices h4{font-size:1rem;margin:0 0 9px}.ca-challenge-practices p{font-size:.95rem;margin:0}.ca-challenge-navigation{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px}.ca-challenge button:disabled{opacity:.52;cursor:default}.ca-challenge-controls{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:25px 0 10px}.ca-challenge-text-button{display:inline-flex;align-items:center;min-height:42px;font:inherit;font-size:.9rem;font-weight:500;color:var(--ch-accent);border:0;background:none;padding:8px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.ca-challenge-downloads{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:25px 0}.ca-challenge-plan{border-top:1px solid var(--ch-line);border-bottom:1px solid var(--ch-line);padding:18px 0;margin:30px 0}.ca-challenge-plan summary{cursor:pointer;font-weight:600;padding:5px 0}.ca-challenge-plan ol{list-style:none;padding:0}.ca-challenge-plan li{padding:20px 0;border-top:1px solid var(--ch-line)}.ca-challenge-plan h3{font-size:1.15rem}.ca-challenge-plan blockquote{margin:16px 0;border-left:3px solid var(--ch-accent);padding:3px 0 3px 18px}.ca-challenge-plan p{font-size:.95rem}.ca-challenge-milestone{border-left:3px solid var(--ch-accent);padding:12px 18px;background:var(--ca-surface,#f7f9f7);font-size:.95rem}.ca-challenge button:focus-visible,.ca-challenge select:focus-visible,.ca-challenge summary:focus-visible,.ca-challenges-hub a:focus-visible{outline:3px solid var(--ch-accent);outline-offset:4px}.ca-challenge-day-heading:focus{outline:none}
@media(max-width:800px){.ca-challenge-grid{grid-template-columns:1fr}.ca-challenge-card{padding:24px}.ca-challenge-length{font-size:2.7rem}.ca-challenge-practices{grid-template-columns:1fr;gap:24px}.ca-challenge-navigation .ca-btn{flex:1;justify-content:center;text-align:center}.ca-challenge-navigation .ca-btn:nth-child(2){flex-basis:100%;order:3}.ca-challenge-controls{align-items:stretch}.ca-challenge-controls .ca-challenge-mode{flex-basis:100%}.ca-challenge-mode select{width:100%}.ca-challenge-start,.ca-challenge-builder{padding:24px}.ca-challenge-downloads>.ca-btn{width:100%;justify-content:center;text-align:center}}
@media print{.ca-challenge-printing .ca-challenge-app,.ca-challenge-printing .ca-challenge-downloads,.ca-challenge-printing .ca-challenge-builder,.ca-challenge-printing .ca-challenge-status,.ca-challenge-printing>.ca-challenge-note,.ca-challenge-printing>.ca-challenge-privacy,.ca-challenge-printing .ca-challenge-plan summary{display:none!important}.ca-challenge-plan{display:block!important;border:0;padding:0}.ca-challenge-plan>ol{display:block!important}.ca-challenge-plan li{break-inside:avoid}.ca-challenge-plan blockquote{font-size:14pt}.ca-challenge-plan p{font-size:10pt}.ca-challenge-plan h3{font-size:12pt}.ca-challenge{color:#111!important}}
