/* Student overview: one shared chart canvas and direct, evidence-based milestones. */
.story-exam-menu,.story-exam-empty{width:min(440px,100%);min-width:0;position:relative;color:#173e34;text-align:left;margin:0 auto}
.story-exam-menu[open]{z-index:5}
.story-exam-trigger{display:grid;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:14px;list-style:none;padding:14px 20px;border:1px solid #ffffffa3;border-radius:24px;background:#ffffff61;cursor:pointer;transition:background 220ms ease,box-shadow 220ms ease}
.story-exam-trigger::-webkit-details-marker{display:none}
.story-exam-trigger::marker{content:''}
.story-exam-trigger>svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:#3e6d55}
.story-exam-trigger>.story-exam-chevron{width:16px;height:16px;transition:transform 280ms cubic-bezier(.22,1,.36,1)}
.story-exam-menu[open] .story-exam-chevron{transform:rotate(180deg)}
.story-exam-copy{display:grid;gap:3px;min-width:0}
.story-exam-copy small{font-size:10px;line-height:1.5;font-weight:500;color:#466758;letter-spacing:.04em}
.story-exam-copy strong{font-size:14px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}
.story-exam-menu time{font-size:10px;line-height:1.5;color:#466758;letter-spacing:.02em}
.story-exam-trigger:hover,.story-exam-menu[open] .story-exam-trigger{background:#ffffff9c;box-shadow:0 5px 18px #2048340a}
.story-exam-trigger:focus-visible,.story-exam-options button:focus-visible{outline:3px solid #286d56;outline-offset:3px}
.story-exam-options{position:absolute;left:0;right:0;top:calc(100% + 10px);padding:8px;border:1px solid #fff;border-radius:24px;background:#f1f7f2;box-shadow:0 18px 46px #173e3426;max-height:min(340px,45vh);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#9cbaaa transparent}
.story-exam-options button{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:14px;width:100%;border:0;border-radius:17px;background:transparent;color:#234d3c;padding:13px 14px;min-height:58px;font:inherit;text-align:left;cursor:pointer;transition:background 180ms ease,color 180ms ease}
.story-exam-options button>span{display:grid;gap:4px;min-width:0}
.story-exam-options strong{font-size:13px;font-weight:550;line-height:1.6;overflow-wrap:anywhere}
.story-exam-options button>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.story-exam-options button:hover{background:#e4eee4}
.story-exam-options button[aria-current="true"]{background:#d9e9dd;color:#173e34}
.story-exam-empty{padding:18px 22px;border-radius:24px;background:#ffffff61;display:grid;gap:5px;font-size:13px}
.story-exam-empty small{font-size:10px;color:#466758}
@keyframes story-exams-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.story-exam-menu[open] .story-exam-options{animation:story-exams-open 220ms cubic-bezier(.22,1,.36,1)}}
@media(max-width:480px){.story-exam-trigger{padding:13px 15px;gap:11px;border-radius:22px;grid-template-columns:20px minmax(0,1fr) 14px}.story-exam-trigger>svg{width:20px;height:20px}.story-exam-copy strong{font-size:12px}.story-exam-options{padding:6px;border-radius:22px}.story-exam-options button{padding:11px 12px;gap:9px}.story-exam-options strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){.story-exam-trigger,.story-exam-chevron,.story-exam-options button{transition:none}}
@media(forced-colors:active){.story-exam-trigger,.story-exam-options{border:1px solid ButtonText;background:Canvas;color:CanvasText}.story-exam-options button[aria-current="true"]{outline:1px solid Highlight}.story-exam-copy small,.story-exam-menu time{color:CanvasText}}
.learning-story-hero,.learning-story-closing{--story-ink:#173e34;--story-muted:#466758;color:var(--story-ink);min-width:0;overflow-wrap:anywhere}
.learning-story-hero{position:relative;isolation:isolate;border-radius:32px;padding:clamp(28px,5vw,70px) clamp(20px,4vw,60px) 26px;background:radial-gradient(ellipse at 78% 36%,#a6d8beb3,transparent 58%),linear-gradient(150deg,#f0f6eb 2%,#d9ece0 46%,#c6e3d3);margin:32px 0 clamp(44px,7vw,96px)}
.story-intro{text-align:center;max-width:820px;margin:0 auto 32px}.story-eyebrow{display:block;font-size:12px;font-weight:650;letter-spacing:.13em;color:var(--story-muted);margin-bottom:18px}.story-intro h1{font-size:clamp(35px,5.2vw,72px);font-weight:650;letter-spacing:-.065em;line-height:1.12;margin:0;text-wrap:balance}.story-glass-type{color:rgb(23 62 52 / 64%)}.story-intro p{font-size:clamp(15px,1.6vw,20px);line-height:1.6;margin:20px 0 0;color:var(--story-muted)}
.story-exam-context{display:flex;align-items:center;justify-content:center;gap:12px 24px;flex-wrap:wrap;font-size:12px;color:var(--story-muted);text-align:center;margin-bottom:22px}.story-exam-context>span{min-width:0}.story-exam-context time{white-space:nowrap}.story-exam-picker{min-width:0;width:min(440px,100%);max-width:100%}.story-exam-picker .field{gap:0}.story-exam-picker select{max-width:min(300px,100%);font-size:12px;min-height:36px;background:#ffffff91;border-color:#446b5824}
.story-subject-picker,.story-achievement-picker{max-width:800px;min-width:0;margin:0 auto 24px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9cbaaa transparent;border-radius:999px;background:#ffffff54;padding:4px}
.story-selector-track{display:grid;grid-template-columns:repeat(var(--story-options),minmax(0,1fr));position:relative;isolation:isolate;min-width:calc(var(--story-options)*84px)}
.story-selection-indicator{position:absolute;z-index:-1;inset:0 auto 0 0;width:calc(100%/var(--story-options));border-radius:999px;background:var(--story-ink);transform:translateX(calc(var(--story-selected)*100%));transition:transform 440ms cubic-bezier(.22,1,.36,1);pointer-events:none}
.story-selector-track button{min-width:0;min-height:40px;border:0;border-radius:999px;padding:9px 12px;color:var(--story-muted);background:transparent;font:inherit;font-size:13px;line-height:1.45;cursor:pointer;white-space:nowrap;transition:color 240ms ease,background 240ms ease}
.story-selector-track button[aria-pressed="true"]{color:#fff}.story-selector-track button:hover:not([aria-pressed="true"]){background:#ffffff8c}.story-selector-track button:focus-visible,.story-text-link:focus-visible{outline:3px solid #286d56;outline-offset:-3px}
.story-chart-stage{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:450px;padding:230px 0 18px;min-width:0}
.story-score-backdrop{position:absolute;z-index:-1;inset:28px 0 88px;pointer-events:none}.story-score-backdrop svg{display:block;width:100%;height:100%;overflow:visible}.story-chart-line{fill:none;stroke:#267049;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round}.story-chart-line polyline{vector-effect:non-scaling-stroke;stroke-dashoffset:0}.story-chart-point{fill:#267049;stroke:#d8eade;stroke-width:1.2;vector-effect:non-scaling-stroke}.story-chart-point.is-current{stroke-width:2}.story-score-backdrop-rank{inset:28px 0 88px}.story-score-backdrop-rank .story-chart-line{stroke:#356cb0;stroke-width:2.4}.story-score-backdrop-rank .story-chart-point{fill:#356cb0}
.story-chart-key{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;gap:22px;color:#365e4b;font-size:11px}.story-chart-key>span{display:inline-flex;align-items:center;gap:8px}.story-chart-key i{width:20px;height:3px;background:#267049;border-radius:3px}.story-chart-key .story-key-rank i{background:#356cb0}
.story-stage-values{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.55fr);align-items:end;gap:24px;position:relative;isolation:isolate}.story-stage-values::before{content:"";position:absolute;inset:-18px 0 -18px;z-index:-1;pointer-events:none;background:linear-gradient(0deg,#cfe5d980 3%,#d2e7da66 43%,#d8eade26 74%,transparent)}
.story-score{min-width:0;position:relative;text-align:left}.story-score-label{font-size:13px;letter-spacing:.03em;color:#385f4b}.story-score-value{font-size:clamp(88px,10vw,144px);font-weight:650;letter-spacing:-.075em;line-height:1.16;font-variant-numeric:tabular-nums;color:rgb(18 59 44 / 67%);margin:8px 0 0;overflow-wrap:normal;white-space:nowrap}.story-score-value>span{font-size:15px;font-weight:500;letter-spacing:0;margin-left:12px}.story-score-maximum,.story-rank-cohort{font-size:12px;line-height:1.6;color:var(--story-muted);margin:4px 0 0}.story-score-change,.story-rank-change{font-size:13px;line-height:1.6;font-weight:550;margin:12px 0 0;color:#355e4a}.story-rank{min-width:0;text-align:right;padding-bottom:3px}.story-rank-value{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;margin:16px 0 11px;color:#355951;font-size:14px}.story-rank-value strong{font-size:clamp(38px,5vw,64px);line-height:1.16;color:rgb(23 62 52 / 72%);font-weight:600;letter-spacing:-.055em;font-variant-numeric:tabular-nums}
.story-chart-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #315a4221;padding-top:18px;margin-top:8px;position:relative}.story-chart-caption{min-width:0}.story-chart-caption>p{font-size:11px;line-height:1.7;color:var(--story-muted);margin:4px 0 0}.story-chart-dates{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--story-muted)}.story-text-link{display:inline-flex;align-items:center;gap:10px;flex:none;max-width:100%;font:inherit;font-size:12px;border:0;padding:6px 0;background:none;color:var(--story-ink);cursor:pointer;text-align:left}.story-text-link span{font-size:18px}
.learning-story-closing{margin:clamp(56px,8vw,120px) 0 0;padding:clamp(34px,5vw,72px) clamp(20px,4vw,48px);border-radius:32px;background:linear-gradient(145deg,#f1f6ed,#e2eee1 55%,#d5e8d9)}
.story-closing-heading{text-align:center;max-width:780px;margin:0 auto 32px}.story-closing-heading h2{font-size:clamp(36px,5vw,66px);font-weight:650;letter-spacing:-.055em;line-height:1.15;margin:0;text-wrap:balance}.story-closing-heading p{font-size:15px;line-height:1.7;color:var(--story-muted);margin:20px 0 0}.story-achievement-picker{max-width:600px;margin-bottom:34px}.story-achievement-picker .story-selector-track{min-width:360px}.story-achievement-panel{min-width:0;min-height:340px}
.story-achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}.story-achievement-reveal{min-width:0;display:flex}.story-achievement{min-width:0;width:100%;display:flex;align-items:flex-start;flex-direction:column;border:1px solid #ffffffad;border-radius:24px;padding:26px 22px;background:#ffffffa6;transform-origin:center;transition:transform 400ms cubic-bezier(.22,1,.36,1),box-shadow 400ms cubic-bezier(.22,1,.36,1);outline-offset:4px}.story-achievement:focus-visible{outline:3px solid #286d56;transform:scale(1.025);box-shadow:0 12px 32px #19422b12}.story-achievement-art{width:66px;height:66px;display:grid;place-items:center;margin:0 0 24px -3px}.story-achievement-art svg{width:62px;height:62px;fill:none;stroke:#4c7a60;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.story-achievement h3{font-size:17px;font-weight:600;line-height:1.5;letter-spacing:-.025em;margin:0 0 16px}.story-achievement-metric{font-size:clamp(34px,4.4vw,60px);font-weight:620;line-height:1.14;letter-spacing:-.07em;font-variant-numeric:tabular-nums;color:rgb(23 62 52 / 74%);margin:0 0 16px;max-width:100%;overflow-wrap:anywhere}.story-achievement-metric>span{font-size:13px;letter-spacing:0;font-weight:500;margin-left:8px}.story-achievement-metric.is-text{font-size:clamp(26px,3vw,38px);letter-spacing:-.045em}.story-achievement-detail{font-size:13px;color:var(--story-muted);line-height:1.8;margin:0 0 24px;white-space:pre-wrap}.story-achievement footer{display:flex;gap:6px 10px;flex-wrap:wrap;color:var(--story-muted);font-size:10px;line-height:1.7;margin-top:auto;padding-top:18px}.story-achievement.is-empty{background:#ffffff66}.story-record-details{font-size:12px;line-height:1.8;width:100%;margin-bottom:14px}.story-record-details summary,.story-history>summary{cursor:pointer;color:var(--story-ink);font-weight:550;min-height:32px}.story-record-details>div{padding-top:10px}.story-record-details p{white-space:pre-wrap;color:var(--story-muted);margin:0 0 14px}.story-record-details strong{display:block;margin-bottom:5px;color:var(--story-ink)}.story-record-details summary:focus-visible,.story-history>summary:focus-visible{outline:3px solid #286d56;outline-offset:3px}.story-history{margin-top:26px}.story-history>summary{font-size:14px}.story-history>summary span{margin-left:8px;font-size:12px;color:var(--story-muted)}.story-history>.story-achievement-grid{padding-top:20px}
@media(hover:hover) and (pointer:fine){.story-achievement:hover{transform:scale(1.025);box-shadow:0 12px 32px #19422b12}}
@media(min-width:901px){.story-achievement-grid:has(>.story-achievement-reveal:only-child){grid-template-columns:minmax(0,480px);justify-content:center}.story-achievement-grid:has(>.story-achievement-reveal:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.story-score-value{font-size:112px}.story-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.story-achievement-grid:has(>.story-achievement-reveal:only-child){grid-template-columns:minmax(0,1fr)}.story-chart-stage{min-height:410px;padding-top:200px}.story-achievement{padding:24px 20px}}
@media(max-width:640px){.learning-story-hero,.learning-story-closing{border-radius:24px;padding-left:20px;padding-right:20px}.learning-story-hero{margin-top:24px}.story-intro{margin-bottom:25px}.story-intro h1{font-size:38px}.story-intro p{margin-top:18px}.story-exam-context{gap:10px}.story-exam-context>span{flex-basis:100%}.story-subject-picker,.story-achievement-picker{border-radius:24px;padding:4px}.story-selector-track button{padding:8px 10px;font-size:12px;min-height:36px}.story-chart-stage{min-height:365px;padding-top:190px;padding-bottom:12px}.story-score-backdrop{inset:34px 0 98px}.story-score-backdrop-rank{inset:34px 0 98px}.story-chart-line{stroke-width:2.2}.story-score-backdrop-rank .story-chart-line{stroke-width:2}.story-stage-values{grid-template-columns:minmax(0,1fr) minmax(86px,.56fr);gap:12px}.story-score-value{font-size:clamp(70px,20vw,106px)}.story-score-value>span{font-size:12px;margin-left:6px}.story-score-label{font-size:11px;letter-spacing:0}.story-rank-value{margin:14px 0 12px;gap:4px;font-size:12px}.story-rank-value strong{font-size:36px}.story-score-maximum,.story-rank-cohort{font-size:10px;line-height:1.6}.story-score-change,.story-rank-change{font-size:11px;margin-top:10px}.story-chart-footer{gap:10px;align-items:flex-start}.story-chart-caption>p,.story-chart-dates{font-size:10px}.story-achievement-grid{grid-template-columns:minmax(0,1fr);gap:18px}.story-achievement{padding:24px}.story-achievement-art{margin-bottom:18px}.story-achievement h3{font-size:19px}.story-achievement-metric{font-size:56px}.story-achievement-metric.is-text{font-size:34px}.story-closing-heading{margin-bottom:28px}.story-achievement-picker{margin-bottom:28px}}
@media(max-width:380px){.learning-story-hero,.learning-story-closing{padding-left:16px;padding-right:16px}.story-stage-values{gap:8px;grid-template-columns:minmax(0,1fr) 82px}.story-score-value{font-size:70px}.story-rank-value strong{font-size:32px}.story-chart-footer{flex-wrap:wrap}}
@media(max-width:480px){.story-chart-stage{min-height:410px;padding-top:255px}.story-stage-values{grid-template-columns:minmax(0,1fr)}.story-rank{position:absolute;right:0;bottom:calc(100% + 20px);max-width:65%;padding-bottom:0}.story-rank-value{margin:8px 0}.story-rank-change{margin-top:6px}.story-score-backdrop{bottom:122px}.story-score-backdrop-rank{bottom:122px}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.story-selection-indicator,.story-selector-track button,.story-achievement{transition:none}.story-achievement:hover,.story-achievement:focus-visible{transform:none}}
@media(forced-colors:active){.story-glass-type,.story-score-value,.story-rank-value strong,.story-achievement-metric{color:CanvasText}.story-score-backdrop .story-chart-line,.story-score-backdrop .story-chart-point,.story-achievement-art svg{stroke:CanvasText}.story-score-backdrop .story-chart-point{fill:CanvasText}.story-score-backdrop-rank .story-chart-line{stroke:LinkText}.story-score-backdrop-rank .story-chart-point{stroke:LinkText;fill:LinkText}.story-chart-key i{background:CanvasText}.story-chart-key .story-key-rank i{background:LinkText}.story-selection-indicator{background:Highlight;forced-color-adjust:none}.story-selector-track button[aria-pressed="true"]{color:HighlightText}.story-achievement{border:1px solid CanvasText}.story-stage-values::before{display:none}}
@media print{.story-subject-picker,.story-achievement-picker,.story-exam-picker,.story-text-link{display:none}.learning-story-hero,.learning-story-closing{background:#fff!important;border:1px solid #ccc;break-inside:avoid}.story-glass-type,.story-score-value,.story-rank-value strong,.story-achievement-metric{color:#173e34}.story-achievement{transform:none!important}.story-chart-stage{min-height:360px}.story-chart-line polyline{stroke-dashoffset:0!important;stroke-dasharray:none!important}}
