/* A live graph, with labels that stay readable as the viewport narrows. */
.memory-section{padding-top:40px;padding-bottom:40px}
.memory-scroll-stage{height:260vh;position:relative}
.memory-section .memory-sticky{position:sticky;top:95px;min-height:calc(100svh - 110px);display:flex;flex-direction:column;justify-content:center;gap:22px;margin:0}
.memory-section .spacing-copy{width:100%;max-width:none}
.memory-section .spacing-copy h3{font-size:clamp(36px,4.3vw,58px);line-height:1.1}
.memory-section .spacing-copy .section-lede{font-size:17px;margin-top:12px}
.memory-scroll-hint{display:block;font-size:11px;color:#939ca8;margin-top:12px}
.memory-section .memory-curve-card{width:100%;padding:24px 28px;background:#25272b;border-color:#ffffff15;box-shadow:none}
.memory-section .memory-curve-head{font-size:14px;gap:16px}
.memory-section .curve-legend{font-size:12px;color:#c8ddf3;white-space:nowrap}
.memory-section .curve-legend i{background:#abd9ff}
.memory-chart{position:relative;margin-top:20px}
.memory-section .memory-timeline{width:100%;height:clamp(190px,34svh,340px);display:block;margin:0;overflow:visible}
.memory-axis-caption{position:absolute;left:0;top:0;font-size:11px;color:#a1adbb}
.memory-section .memory-axis{stroke:#a3b3c833;stroke-width:1;vector-effect:non-scaling-stroke}
.memory-section .memory-grid{stroke:#ffffff09;stroke-width:1;vector-effect:non-scaling-stroke}
.memory-year-region{fill:#87b9f807}
.memory-year-boundary{fill:none;stroke:#9cc5ff24;stroke-dasharray:3 6;vector-effect:non-scaling-stroke}
.memory-section .memory-no-review{stroke:#aeb5bf;stroke-width:1.5;stroke-dasharray:4 5;vector-effect:non-scaling-stroke}
.memory-forgetting-note{position:absolute;left:34%;bottom:8%;padding:3px 6px;font-size:12px;color:#c3c8cf;background:#25272b;line-height:1.25}
.memory-year-note{position:absolute;left:45%;top:44%;font-size:clamp(11px,1.1vw,14px);line-height:1.5;color:#b9cbe1}
.memory-section .memory-review-path{stroke-width:3;stroke-dasharray:none;stroke-dashoffset:0!important;transition:none;filter:none;vector-effect:non-scaling-stroke}
.memory-section .memory-review-points circle{opacity:0;transition:none;stroke-width:2;vector-effect:non-scaling-stroke}
#memory-cursor{fill:#fff;stroke:#92caff;stroke-width:2;vector-effect:non-scaling-stroke}
#memory-cursor-line{fill:none;stroke:#b8d8ff45;stroke-dasharray:4 6;vector-effect:non-scaling-stroke}
.memory-time-ticks{fill:none;stroke:#ffffff30;vector-effect:non-scaling-stroke}
.memory-time-scale{position:relative;height:24px;margin-top:4px;font-size:12px;color:#b3bfcd}
.memory-time-scale span{position:absolute;left:var(--time-position);transform:translateX(-50%);white-space:nowrap}
.memory-time-scale span:first-child{transform:none}
.memory-time-scale span:last-child{transform:translateX(-100%)}
.memory-scale-note{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#919dad;line-height:1.4;margin-top:4px}
.memory-scale-note b{font-weight:500;color:#b4c4d7}
.memory-section .memory-curve-card .chart-context{font-size:10px;margin-top:13px;line-height:1.5;color:#949eac}
.memory-purpose{max-width:780px;font-size:14px;line-height:1.6;color:#c2cbd7;margin-top:17px}
.memory-purpose a{display:inline-block;margin-right:14px;color:#d8e9ff;font-size:12px;text-underline-offset:4px}
@media(max-width:680px){
.memory-section{padding-top:20px}
.memory-scroll-stage{height:240vh}
.memory-section .memory-sticky{top:88px;min-height:calc(100svh - 100px);gap:18px}
.memory-section .spacing-copy h3{font-size:36px}
.memory-section .spacing-copy .section-lede{font-size:15px}
.memory-section .memory-curve-card{padding:20px 12px;border-radius:22px}
.memory-section .memory-curve-head{font-size:11px}
.memory-section .curve-legend{font-size:10px}
.memory-section .memory-timeline{height:230px}
.memory-axis-caption{font-size:10px}
.memory-forgetting-note{left:30%;font-size:10px;padding:3px}
.memory-year-note{left:45%;font-size:10px}
.memory-time-scale{font-size:10px}
.memory-time-scale span:first-child{display:none}
.memory-scale-note{font-size:9px}
.memory-purpose{font-size:12px;margin-top:14px}
.memory-purpose a{font-size:11px}
}
@media(max-height:700px) and (min-width:681px){
.memory-section .memory-sticky{gap:16px}
.memory-section .spacing-copy h3{font-size:40px}
.memory-section .memory-timeline{height:180px}
.memory-scroll-hint{display:none}
}
@media(max-height:600px), (max-height:700px) and (max-width:680px){
.memory-scroll-stage{height:auto}
.memory-section .memory-sticky{position:relative;top:0;min-height:0;padding-block:25px}
.memory-scroll-hint{display:none}
}
@media(prefers-reduced-motion:reduce){
.memory-scroll-stage{height:auto}
.memory-section .memory-sticky{position:relative;top:0;min-height:0;padding-block:40px}
.memory-scroll-hint{display:none}
}
