/* S-4 story screens: text-only (S-5 art pending), same palette as site-shell. Touch-first: ≥44px targets, no hover-only states. */
.story-panel{position:relative;height:100%;min-height:0;overflow:auto;border-radius:12px;background:#17221f;border:2px solid #4d5d4b;color:#e9eadc;padding:14px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch}
.story-panel h1{font-size:18px;margin:0;color:#f6d77d;letter-spacing:.04em}.story-panel h2{font-size:16px;margin:0;color:#f6d77d}
.story-panel p{margin:0;line-height:1.5;font-size:15px}.story-panel .muted{color:#a9b39f;font-size:13px}
.story-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.story-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:48px;padding:10px 14px;border-radius:10px;border:2px solid #6e7c67;background:#263a33;color:#e9eadc;font-size:15px;text-align:left;touch-action:manipulation}
.story-btn:active{background:#314540}.story-btn[aria-disabled=true],.story-btn:disabled{opacity:.45}
.story-btn.primary{background:#7a3b2e;border-color:#c9785f;justify-content:center;font-weight:700}
.story-btn .tag{font-size:12px;color:#f6d77d;white-space:nowrap}
.story-actions{display:grid;gap:8px;margin-top:auto}
.story-card{border:1px solid #4d5d4b;border-radius:10px;padding:12px;background:#1d2b27;display:grid;gap:6px}
.story-dialogue .story-speaker{font-weight:700;color:#f6d77d}
.story-score{font-size:28px;font-weight:900;text-align:center;letter-spacing:.1em}
.handheld.is-story-text{grid-template-rows:32px minmax(0,1fr) 20px}.is-story-text .controller-deck,.is-story-text .system-buttons{display:none}
.screen-frame>.story-panel{width:100%;height:100%;align-self:stretch;justify-self:stretch}
.story-line{font-size:18px!important;white-space:nowrap;overflow:hidden;text-overflow:clip}
.story-dialogue .story-speaker.narrator{color:#a9b39f;font-weight:400}
.handheld.is-story-text .screen-frame{height:100%!important;align-self:stretch!important;place-items:stretch!important}.story-card{width:100%}
.handheld #game[hidden],.story-panel[hidden]{display:none!important}
.story-btn-label{display:grid;gap:2px}.story-btn-label small{font-size:12px;color:#a9b39f}
/* S-5 step 1: approved 1x portraits at integer CSS scale, nearest-neighbour, colours as delivered */
.story-head{display:flex;align-items:flex-end;gap:10px}
.story-portrait{flex:none;display:block;width:var(--story-portrait-w,96px);height:var(--story-portrait-h,84px);image-rendering:pixelated;border:0;padding:0;outline:0;background:none}
