.story-page{max-width:900px;padding-top:24px}
.story-page .page-heading{text-align:center;margin-bottom:24px}
.story-page h1{font-size:clamp(28px,4vw,42px);margin-bottom:12px}
.story-page .lead{max-width:740px;margin:0 auto;font-size:var(--reading);line-height:1.6}
.story-sheet{padding:26px;background:#fffdf7;border:2px solid #d7d9cd;border-radius:25px;box-shadow:0 5px 0 #dce5d7}
.story-sheet h2{text-align:center;font-size:26px;line-height:1.4;margin-bottom:12px}
.story-hint{font-size:16px;line-height:1.6;text-align:center;max-width:670px;margin:0 auto 22px;color:#60767a}
.story-parts{display:grid;gap:14px;list-style:none;padding:0;margin:0}
.story-parts li{list-style:none;min-width:0}
.story-part{display:flex;align-items:flex-start;gap:16px;width:100%;padding:18px;border:2px solid #c8d5c6;border-radius:16px;background:#fffefb;text-align:left;color:#29464c}
.story-part[aria-pressed=true]{border-color:#7961a1;background:#f3edf8}
.story-number{display:grid;place-items:center;width:42px;min-width:42px;height:46px;border:2px dashed #99b3a5;border-radius:9px;background:#fffefb;font-weight:700;font-size:24px;color:#513d72}
.story-part[aria-pressed=true] .story-number{border-style:solid;border-color:#7961a1;background:#e9dff3}
.story-paragraph,.story-complete p{font-size:var(--reading);line-height:1.65;overflow-wrap:anywhere;margin:0}
.story-parts[aria-invalid=true]{outline:2px dashed #b97453;outline-offset:6px;border-radius:16px}
.story-complete li{display:flex;align-items:flex-start;gap:16px;padding:18px;border:1px solid #c2d6bc;background:#eff6e8;border-radius:16px}
.story-complete .story-number{color:#276b56;border:1px solid #99b3a5}
.story-feedback{font-size:var(--reading);text-align:center;min-height:55px;line-height:1.6;max-width:740px;margin:24px auto 16px;color:#41655d}
.story-page>.button-row{flex-wrap:wrap;gap:12px}
@media(max-width:560px){.story-page{padding:18px 14px 28px}.story-sheet{padding:20px 12px;border-radius:20px}.story-sheet h2{font-size:23px}.story-part,.story-complete li{padding:14px 10px;gap:10px}.story-number{width:34px;min-width:34px;height:40px;font-size:22px}.story-hint{font-size:15px}.story-parts{gap:12px}.story-page .primary,.story-page .secondary{padding:12px 16px}}
