.story-shell{max-width:1000px;margin:auto;padding:24px 40px 36px;background:var(--cream)}
.story-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;font-size:12px;color:var(--soft-text)}
.story-top span+span{font-size:11px}
.story-frame{display:grid;grid-template-columns:1.65fr 1fr;align-items:stretch;margin:0;background:#f2ecdd;border:2px solid #80725b;padding:12px;box-shadow:5px 5px 0 #ded5c5}
.story-frame figcaption{display:flex;flex-direction:column;justify-content:center;padding:21px 24px;text-align:left;background:#fffaf0}
.story-frame h1{font-size:25px;line-height:1.5;margin:0 0 10px;color:var(--cocoa-dark)}
.story-frame p{font-size:16px;line-height:1.95;margin:0 auto;max-width:650px;color:var(--soft-text)}
.story-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:24px}
.story-actions .primary{min-width:240px;min-height:48px}
.story-actions .text-button{min-height:44px}
.story-question .dog-panel{min-height:0;align-self:start;padding:0}
.story-question .dog-panel .world{min-height:0;max-width:none;width:100%;padding:0}
.story-question .dog-details{padding:12px 0}
.story-question .age-display b{font-size:32px}
.story-question .story-visual{padding:7px;background:#e6dfcf;border:1px solid #b5a990}
.inline-story-caption{border-top:1px solid var(--line);padding:13px 0 0;margin-top:5px;text-align:left}.inline-story-caption h2{font-size:16px;line-height:1.6;margin:0 0 6px}.inline-story-caption p{font-size:14px;line-height:1.8;margin:0;color:var(--soft-text)}
.story-memories{margin:26px 0;border-top:1px solid var(--line);padding-top:20px}
.story-memories h2{font-size:20px;margin:0 0 14px}
.story-memories>summary{cursor:pointer;min-height:44px;font-size:17px;font-weight:700;line-height:1.7}
.story-memories[open]>summary{margin-bottom:14px}
.story-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.story-memory{margin:0;padding:8px;background:#f6f0e4;border:1px solid #d2c5ad}
.story-memory figcaption{padding:12px 7px 6px}
.story-memory small{font-size:11px;color:var(--soft-text)}
.story-memory h3{font-size:15px;line-height:1.6;margin:5px 0}
.story-memory p{font-size:12px;line-height:1.85;margin:0;color:var(--soft-text)}
@media(max-width:700px){
 .story-shell{padding:16px 20px 28px}
 .story-top{gap:8px;font-size:11px;margin-bottom:12px}
 .story-top span+span{font-size:10px}
 .story-frame{grid-template-columns:1fr;padding:7px;box-shadow:3px 3px 0 #ded5c5}
 .story-frame figcaption{padding:17px 10px 13px;text-align:center}
 .story-frame h1{font-size:21px;margin-bottom:9px}
 .story-frame p{font-size:14px;line-height:1.9}
 .story-actions{gap:5px;margin-top:20px;flex-direction:column}
 .story-actions .primary{width:100%}
 .story-question .dog-panel{display:block}
 .story-question .dog-details{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0 0}
 .story-question .age-display b{font-size:22px;margin:3px 0}
 .story-question .dog-status{margin:0;justify-content:flex-end}
 .story-question .dog-status span{font-size:9px}
 .inline-story-caption{padding-top:8px;margin-top:6px}.inline-story-caption h2{font-size:14px;margin-bottom:3px}.inline-story-caption p{font-size:12px;line-height:1.7}.inline-story-game .dog-details{padding-top:6px}.inline-story-game .age-display b{font-size:20px}.inline-story-game .world .story-scene-picture{max-height:165px}
 .story-memory-grid{grid-template-columns:1fr;gap:12px}
}

/* One compact scenario label, followed by one complete question. */
.question .scenario-label{margin:18px 0 8px;font-size:14px;line-height:1.5;font-weight:700;color:var(--soft-text);letter-spacing:.5px}
.question .scenario-label:focus{outline:none}
.question .scenario-label+.question-text{margin-top:0;line-height:1.85}
