.missions-intro{padding-bottom:.5rem}
.missions-page .wrap{max-width:62rem}
.season-filters{justify-content:center}
.season-filters button{min-height:44px}
.season-filters button[aria-pressed=true]{background:var(--moss);color:var(--on-moss);box-shadow:none}
.mission-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.25rem;margin-top:1.25rem}
.mission-list:empty::before{content:"Nothing here just yet.";color:var(--soft);font-weight:700}
.mission-card{display:flex;flex-direction:column;gap:.7rem;padding:1.35rem;background:var(--panel);border:2px solid var(--line);border-radius:1.5rem;box-shadow:0 5px 18px color-mix(in srgb,var(--moss) 6%,transparent);min-width:0}
.mission-card-heading{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.mission-card-heading h3{flex:1 1 10rem;color:var(--moss)}
.mission-emoji{display:grid;place-items:center;width:3.2rem;height:3.2rem;border-radius:50%;background:var(--sky);font-size:1.6rem}
.mission-status{font-weight:800;font-size:.85rem;padding:.2rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--sun) 35%,var(--paper));color:var(--ink)}
.mission-goal{font:800 1.35rem/1.25 'Baloo 2',sans-serif;margin:0}
.mission-area{margin:0;font-size:.95rem;color:var(--soft);font-weight:700}
.mission-progress{width:100%;height:1rem;border:0;border-radius:999px;background:var(--line);overflow:hidden;appearance:none;-webkit-appearance:none}
.mission-progress::-webkit-progress-bar{background:var(--line);border-radius:999px}
.mission-progress::-webkit-progress-value{background:var(--leaf);border-radius:999px;transition:width .9s ease-out}
.mission-progress::-moz-progress-bar{background:var(--leaf);border-radius:999px}
.mission-progress-label{margin:0;font-weight:800;font-size:.95rem}
.mission-countdown{margin:0;font-weight:800;color:var(--moss)}
.mission-why{margin:0;padding:.7rem .9rem;border-left:4px solid var(--leaf);background:color-mix(in srgb,var(--leaf) 12%,var(--paper));border-radius:0 1rem 1rem 0}
.mission-tips details{margin-top:.4rem}
.mission-tips summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:800;color:var(--moss)}
.mission-tip{margin:.4rem 0}
.mission-helpers h4{margin:0;font-size:1rem}
.mission-helpers ul{margin:.3rem 0 0;padding-left:1.2rem}
.mission-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:auto;padding-top:.5rem}
.completed-section summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:800 1.5rem 'Baloo 2',sans-serif;color:var(--moss)}
.join-section,.privacy-box{margin-top:3rem;padding:1.5rem;border-radius:1.5rem;border:2px solid var(--line);background:color-mix(in srgb,var(--sun) 12%,var(--paper))}
.join-section{max-width:46rem;margin-inline:auto}
.privacy-box{max-width:46rem;margin-inline:auto;background:var(--panel)}
.join-note{padding:.9rem 1.1rem;border-left:4px solid var(--leaf);background:var(--panel);border-radius:0 1rem 1rem 0}
.setup-notice{padding:.9rem 1.1rem;border:2px dashed var(--berry);border-radius:1rem;background:var(--panel);font-weight:700}
.consent{display:flex;gap:.75rem;align-items:flex-start;font-weight:700}
.consent input{width:1.4rem;height:1.4rem;flex:none;accent-color:var(--moss)}
.form-status{font-weight:800;min-height:1.5rem}
.form-status.error{color:#9c2538}
.contact-form button{justify-self:start}
@media(max-width:30rem){.contact-form>.btn,.mission-actions .btn{width:100%;justify-self:stretch}.join-section,.privacy-box{padding:1.15rem}}
@media(prefers-reduced-motion:reduce){.mission-progress::-webkit-progress-value{transition:none}}
/* certificate */
.certificate-page .wrap{max-width:64rem}
.cert-controls{max-width:36rem;margin:2rem auto 0;display:grid;gap:.6rem}
.cert-controls input{padding:.7rem 1rem;border:2px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-weight:800;font-size:max(1rem,16px);min-width:0;width:100%}
.cert-controls label{font-weight:800}
.cert-controls .btn{justify-self:start}
.sheet-frame{margin:2rem 0 0;padding-bottom:1rem}
.certificate-sheet{width:100%;max-width:210mm;aspect-ratio:210/297;margin:0 auto;padding:8%;background:#fff;color:#1F3A24;border:10px double #2F6B3A;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6mm}
.certificate-sheet .cert-logo{width:90mm}
.cert-kicker,.cert-text{font-size:1.2rem;font-weight:700;margin:0}
.cert-title{font-size:3.6rem;color:#2F6B3A}
.cert-hero{display:block;font:800 3rem/1.1 'Baloo 2',sans-serif;border-bottom:3px dotted #8CC63F;padding:0 2rem .3rem;overflow-wrap:anywhere;max-width:100%}
.cert-campaign{font:800 1.8rem 'Baloo 2',sans-serif;margin:0}
.cert-date,.cert-foot{margin:0;font-weight:700}
@media screen and (max-width:50rem){.certificate-sheet{border-width:6px;gap:1rem}.certificate-sheet .cert-logo{width:75%;max-width:90mm}.cert-title{font-size:clamp(1.8rem,6vw,3.6rem)}.cert-hero{font-size:clamp(1.5rem,5vw,3rem);padding-inline:.5rem}.cert-campaign{font-size:clamp(1.1rem,4vw,1.8rem)}.cert-kicker,.cert-text{font-size:1rem}}
@page{size:A4;margin:0}
@media print{
html,body{background:#fff!important}
body *{visibility:hidden}
#certificate-sheet,#certificate-sheet *{visibility:visible}
#certificate-sheet{position:absolute;left:0;top:0;width:210mm;height:297mm;max-width:none;min-height:0;margin:0;padding:18mm 16mm;border-width:10px;-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid}
}
