/* Story hearts and the completion reward. The original LONDI scenes remain intact. */
.progress-pill{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:2px solid #efb821;border-radius:30px;background:#fff6cd;color:#153b66;font-weight:800;text-decoration:none;white-space:nowrap}
.home-reward-link{display:flex;align-items:center;gap:13px;margin-top:23px;padding:15px 18px;background:#fff9dd;border:2px solid #f5d768;border-radius:18px;text-decoration:none}
.home-reward-link>span:first-child{font-size:2.4rem;color:#df1021;line-height:1}.home-reward-link strong{display:block;font-size:1rem}.home-reward-link small{display:block;line-height:1.5;margin-top:4px;font-size:.875rem}.home-reward-link b{margin-left:auto}
.reward-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;overflow:hidden;border:3px solid white;border-radius:28px;background:#fff;box-shadow:0 12px 32px #153b661f}
.reward-hero>img{display:block;width:100%;height:auto}.reward-hero>div{padding:clamp(22px,3vw,42px)}.reward-hero h1{font-size:clamp(2rem,3.6vw,3.6rem);margin:10px 0 18px;line-height:1.06}.reward-hero p{font-size:1.04rem}.reward-hero .eyebrow{font-size:.78rem}.reward-hero .reward-count{display:inline-block;font-size:1.45rem;font-weight:800;background:#fff0b5;border-radius:16px;padding:9px 17px;margin-top:18px;color:#153b66}
.reward-body{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;align-items:start;margin-top:28px}.heart-board,.certificate-card,.progress-tools,.reward-notice{min-width:0;background:white;border:2px solid #b8e5ed;border-radius:25px;padding:clamp(20px,2.4vw,32px);box-shadow:0 7px 22px #153b660b}.heart-board>p{margin-top:9px}.heart-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:25px 0}.heart-grid li{min-width:0}.heart-grid a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px;gap:2px;background:#f0f9fc;border:2px solid #bedae4;border-radius:17px;text-decoration:none;color:#36627c;font-weight:800}.heart-grid a:hover{border-color:#006f88;background:#e5f8fe}.heart-grid a.completed,.heart-grid a.is-complete,.heart-grid li.completed a{background:#fff3ce;border-color:#efb821;color:#cc1024}.heart-grid .heart-symbol,.heart-grid .heart-icon{font-size:2.1rem;line-height:1}.heart-grid .heart-number{font-size:.78rem}.heart-grid a[aria-current="true"]{outline:2px solid #006f88;outline-offset:3px}
.heart-story-title{font-size:.85rem}.heart-story-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.certificate-card{border-color:#f3ca4d;text-align:center;background:linear-gradient(160deg,#fffdf3,#fff);position:relative}.certificate-medallion{margin:0 auto 18px;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:#ffd435;border:6px solid #fff1b0;color:#d51223;font-size:2.7rem;box-shadow:0 4px 0 #ebb70d}.certificate-card h2{font-size:1.8rem;margin:10px 0 15px}.certificate-card>.button{width:100%;margin-top:22px}.certificate-card #certificate-preview img{width:100%;height:auto;border-radius:12px;display:block;margin-top:20px;border:1px solid #d7c183}.reward-small{font-size:.9rem;line-height:1.6;color:#3d5876;margin-top:13px}.button:disabled{cursor:default;background:#e3eaf0;color:#445d74;border:2px solid #a8bac8;box-shadow:none;transform:none}.button:disabled:hover{background:#e3eaf0;transform:none}.heart-earned{display:inline-block;background:#fff1b6;border:1px solid #f2c341;border-radius:15px;font-size:1.08rem;font-weight:bold;padding:10px 18px;margin:0 0 22px}.heart-earned:empty{display:none}
.progress-tools{margin-top:25px}.progress-tools>p,.reward-notice>p{margin-top:10px}.progress-tools>.button-row,.reward-notice>.button-row{justify-content:flex-start;margin-top:19px}.progress-tools .button{min-height:50px}#progress-link-result{margin-top:22px;background:#edfaff;padding:20px;border-radius:15px}#progress-link-result label{display:block;line-height:1.5;font-weight:bold;margin-bottom:8px}#progress-link-field{width:100%;min-width:0;padding:13px;font:inherit;font-size:.95rem;border:2px solid #81baca;border-radius:9px;color:#153b66;background:white}#progress-link-field:focus-visible{outline:3px solid #153b66;outline-offset:3px}.reset-details{margin-top:25px;border-top:1px solid #cee4ec;padding-top:12px}.reset-details summary{padding:12px 0;min-height:44px;cursor:pointer;font-weight:bold;font-size:.9rem}.reset-details p{font-size:.9rem;margin-block:10px}.reset-details>.text-link{background:transparent;border:0;color:#7a2634;text-decoration:underline}.reset-details .button-row{justify-content:flex-start}.reward-notice{margin-top:25px;background:#fff6cf;border-color:#e9bc36}.reward-notice h2{font-size:1.5rem}
.reward-celebration{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:hidden}.reward-celebration span{position:absolute;top:-60px;left:var(--left,50%);font-size:var(--size,26px);color:var(--color,#e31222);animation:kindness-confetti 1.8s ease-out both;animation-delay:var(--delay,0s)}
@keyframes kindness-confetti{0%{opacity:0;transform:translateY(0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translateY(85vh) rotate(150deg)}}
@media(max-width:850px){.reward-hero{grid-template-columns:1fr}.reward-hero>img{max-height:350px;object-fit:contain;background:#e4f6fa}.reward-body{grid-template-columns:1fr}.reward-hero h1{font-size:2.6rem}.certificate-card{max-width:none}.certificate-card #certificate-preview img{max-width:700px;margin-inline:auto}.header-right{gap:7px}.progress-pill{font-size:.82rem;padding:7px 11px}}
@media(max-width:600px){.site-header{gap:12px;align-items:center;padding-block:14px}.header-right{max-width:150px!important;gap:3px}.progress-pill{font-size:.77rem;min-height:40px;width:100%;padding:6px 9px}.header-right .main-website-link{font-size:.62rem}.home-reward-link{text-align:left}.reward-hero h1{font-size:2.25rem}.reward-hero>div{padding:23px}.heart-grid{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr))}.heart-grid a{min-height:75px}.reward-body{gap:20px}.heart-board,.certificate-card,.progress-tools{padding:22px}.reward-hero .reward-count{font-size:1.3rem}.certificate-card h2{font-size:1.65rem}.reward-notice .button-row{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.reward-celebration{display:none!important}}
@media(forced-colors:active){.heart-grid a,.progress-pill,.certificate-card,.heart-board{border:2px solid CanvasText}.heart-grid a.completed{outline:2px solid Highlight}.certificate-medallion{border:3px solid CanvasText}.reward-celebration{display:none}}
