.plan-hero{padding:clamp(24px,5vw,64px);background:#eaf2ed;border:1px solid #cbded1;border-radius:20px;margin:24px 0}.eyebrow{letter-spacing:.15em;font-size:.8rem;font-weight:700;color:#38664e}.plan-hero h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.22;margin:16px 0;max-width:850px}.lead{font-size:1.2rem;max-width:760px}.plan-actions,.week-nav{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.plan-actions a,.week-nav a{padding:10px 16px;border:1px solid #9ebaa9;border-radius:8px;text-decoration:none}.plan-actions .primary{background:#214e38;color:white}.progress-panel{padding:20px 24px;border:1px solid #d7ddd7;border-radius:12px;background:white}.progress-panel progress{display:block;width:100%;height:12px;margin:12px 0;accent-color:#32664b}.progress-panel p{font-size:.85rem;margin-bottom:0}.routine-grid,.phrase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.routine-grid b{font-size:2rem;color:#32664b}.routine-grid h3{margin:8px 0}.phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week{margin:44px 0}.week h2{font-size:1.8rem}.day{border:1px solid #d7ddd7;border-radius:10px;margin:10px 0;background:#fff;scroll-margin-top:24px}.day summary{cursor:pointer;padding:18px;font-weight:600}.day-number{color:#38664e;font-size:.8rem;display:inline-block;min-width:65px}.day-body{padding:0 24px 24px}.done{display:flex;align-items:center;gap:10px;padding:14px;background:#eef4ef;border-radius:8px}.done input{width:20px;height:20px;accent-color:#32664b}.day:has(input:checked){border-color:#578565}.day:has(input:checked) summary{color:#38664e}blockquote{border-left:4px solid #789a86;margin:18px 0;padding:16px 20px;background:#f2f5f0}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:#f5f5f1;padding:16px}a:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #bd751d;outline-offset:4px}.week-nav a{background:#fff}section[id]{scroll-margin-top:24px}@media(max-width:640px){.routine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phrase-grid{grid-template-columns:1fr}.plan-hero{padding:24px 18px}.day-body{padding:0 16px 16px}.week-nav a{flex:1 1 40%;text-align:center}.nav{flex-wrap:nowrap;overflow-x:auto}.nav a{white-space:nowrap}}
