.story-body{z-index:1;position:relative}.back-link{z-index:1;color:var(--muted);align-items:center;gap:6px;font-size:.9rem;font-weight:700;text-decoration:none;transition:color .2s;display:inline-flex;position:relative}.back-link:hover{color:var(--orange)}.story-container{z-index:1;max-width:900px;margin:0 auto;padding:24px 24px 60px;position:relative}.story-hero{text-align:center;padding:40px 20px 28px}.story-hero .heart-emoji{margin-bottom:12px;font-size:70px;animation:4s ease-in-out infinite floatCard;display:block}.story-hero h1{background:linear-gradient(135deg, var(--orange), var(--pink));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:"Baloo 2",cursive;font-size:clamp(2rem,6vw,3rem);font-weight:800;line-height:1.1}.story-hero .intro-text{max-width:600px;color:var(--muted);margin:18px auto 0;font-size:1rem;line-height:1.7}.anim-toggle-btn{background:linear-gradient(135deg, var(--orange), var(--pink));color:#fff;border-radius:var(--btn-radius);cursor:pointer;border:none;margin-top:18px;padding:12px 26px;font-family:"Baloo 2",cursive;font-size:.95rem;font-weight:700;transition:transform .15s;box-shadow:0 6px 16px #ff6b354d}.anim-toggle-btn:hover{transform:translateY(-2px)}.anim-toggle-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.diagram-card{border-radius:var(--card-radius);background:#fff;border:2px solid #fff0e0;flex-direction:column;gap:14px;margin:20px 0;padding:20px clamp(10px,3vw,28px) 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 24px #0000000d}.diagram-card:before{content:"";background:var(--pink);width:5px;height:100%;position:absolute;top:0;left:0}#stage{width:100%;height:auto;display:block;overflow:visible}.legend{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip{color:var(--text);border-radius:var(--btn-radius);background:#fff9f0;border:2px solid #ffe5cc;align-items:center;gap:8px;padding:7px 14px;font-size:.85rem;font-weight:700;display:inline-flex}.dot{border-radius:50%;flex:none;width:11px;height:11px}.dot-deoxy{background:#4a5fd1}.dot-oxy{background:#e14360}.dot-liver{background:#a8592e}.dot-nutrient{background:#c98a17}.steps h2{color:var(--orange);margin-bottom:4px;font-family:"Baloo 2",cursive;font-size:1.5rem;font-weight:800}.steps-intro{color:var(--muted);max-width:65ch;margin:0 0 16px;line-height:1.7}.step-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.step-grid li{background:#f0f8ff;border:2px solid #cce9fb;border-radius:16px;flex-direction:column;gap:8px;padding:16px 16px 18px;display:flex}.step-num{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-family:"Baloo 2",cursive;font-size:1rem;font-weight:800;display:flex}.step-grid li:first-child .step-num,.step-grid li:nth-child(2) .step-num{background:#4a5fd1}.step-grid li:nth-child(3) .step-num{background:var(--green)}.step-grid li:nth-child(4) .step-num,.step-grid li:nth-child(5) .step-num{background:#e14360}.step-grid li:nth-child(6) .step-num{background:#c98a17}.step-grid li:nth-child(7) .step-num{background:#a8592e}.step-grid li:nth-child(8) .step-num{background:var(--muted)}.step-title{color:var(--text);font-family:"Baloo 2",cursive;font-size:1.02rem;font-weight:700}.step-text{color:var(--muted);margin:0;font-size:.92rem;line-height:1.6}.fun-fact{border:2px dashed var(--yellow);background:#fffbea;border-radius:16px;align-items:flex-start;gap:12px;margin:20px 0 0;padding:16px 20px;display:flex}.fun-fact .label{background:var(--yellow);color:#5a3a00;border-radius:var(--btn-radius);white-space:nowrap;letter-spacing:.5px;margin-top:2px;padding:4px 10px;font-family:Nunito,sans-serif;font-size:.7rem;font-weight:800}.fun-fact p{color:var(--text);margin:0;font-size:.93rem;line-height:1.7}.svg-label{font-family:"Baloo 2",cursive;font-weight:700}.svg-sublabel{fill:var(--muted);font-family:Nunito,sans-serif;font-weight:700}#heartGroup{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite heartbeat}@keyframes heartbeat{0%{transform:scale(1)}12%{transform:scale(1.09)}24%{transform:scale(1)}34%{transform:scale(1.05)}46%{transform:scale(1)}to{transform:scale(1)}}#lungGroup{transform-box:fill-box;transform-origin:50%;animation:4.2s ease-in-out infinite breathe}@keyframes breathe{0%,to{transform:scaleY(1)scaleX(1)}50%{transform:scaleY(1.055)scaleX(1.02)}}.halo{animation:2.6s ease-in-out infinite halo}@keyframes halo{0%,to{opacity:.28;r:26}50%{opacity:.06;r:40}}.bubble{animation:3.4s ease-in infinite rise}@keyframes rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}to{opacity:0;transform:translateY(-46px)}}body.paused #heartGroup,body.paused #lungGroup,body.paused .halo,body.paused .bubble{animation-play-state:paused}@media (prefers-reduced-motion:reduce){#heartGroup,#lungGroup,.halo,.bubble{animation:none}}.story-footer{text-align:center;color:var(--muted);padding:30px 20px 10px;font-size:.85rem}@media (max-width:480px){.story-hero h1{font-size:1.7rem}.diagram-card{padding-inline:8px}}
