.story-launch { flex-shrink:0; padding:10px 15px; min-height:44px; border:1px solid var(--brass); border-radius:3px; background:transparent; color:var(--room-ink); font:600 14px "Segoe UI",sans-serif; }
.story-launch:hover { background:var(--room-raised); }
.story-invitation { display:block; width:100%; margin-top:24px; padding:20px 0; border:0; border-block:1px solid var(--panel-line); background:transparent; color:var(--panel-ink); text-align:left; }
.story-invitation > span { display:block; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--panel-muted); }
.story-invitation .story-invitation-quote { margin:12px 0; font:400 25px/1.22 Georgia,serif; letter-spacing:normal; text-transform:none; color:var(--panel-ink); }
.story-invitation > strong { font-size:14px; }
.reading-stories { overflow:hidden; }
.stories-dialog { width:min(1110px,calc(100vw - 32px)); height:min(890px,calc(100svh - 32px)); max-height:calc(100svh - 32px); max-width:none; padding:0; border:1px solid var(--brass); border-radius:5px; background:var(--panel); color:var(--panel-ink); overflow:hidden; box-shadow:0 20px 90px #0009; }
.stories-dialog::backdrop { background:#182010d9; backdrop-filter:blur(6px); }
.stories-dialog[open] { display:flex; flex-direction:column; }
.stories-heading { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 28px; background:var(--room); color:var(--room-ink); }
.stories-heading p { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--brass); }
.stories-heading h2 { font:400 34px/1.12 Georgia,serif; margin:7px 0 0; }
.stories-heading button { color:var(--room-ink); min-width:88px; }
.stories-layout { display:grid; grid-template-columns:290px minmax(0,1fr); flex:1; min-height:0; }
.stories-catalogue { overflow-y:auto; padding:22px 20px; border-right:1px solid var(--panel-line); background:color-mix(in srgb,var(--panel) 92%,var(--panel-ink)); }
.stories-intent { font-size:13px; line-height:1.55; margin-bottom:20px; color:var(--panel-muted); }
.stories-intent strong { display:block; font:400 21px/1.25 Georgia,serif; color:var(--panel-ink); margin-bottom:9px; }
.stories-filters { display:grid; gap:9px; margin-bottom:18px; }
.stories-filters label { display:grid; gap:4px; font-size:12px; font-weight:600; }
.stories-filters select { width:100%; min-width:0; min-height:42px; padding:7px 9px; border:1px solid var(--panel-line); border-radius:3px; background:var(--panel); color:var(--panel-ink); font:14px "Segoe UI",sans-serif; }
.stories-count { font-size:12px; color:var(--panel-muted); margin:0 0 10px; }
.stories-list { display:grid; gap:8px; }
.story-card { display:block; width:100%; padding:14px 12px; text-align:left; border:1px solid var(--panel-line); border-radius:3px; color:var(--panel-ink); background:transparent; }
.story-card[aria-pressed="true"] { background:#343f2b; color:#eeeddc; border-color:#343f2b; box-shadow:inset 3px 0 #c0a566; }
.story-card > * { display:block; }
.story-card-meta { font-size:10px; line-height:1.4; margin-bottom:8px; opacity:.85; }
.story-card-campaign { font-size:12px; line-height:1.35; font-weight:700; margin-bottom:5px; }
.story-card strong { font-size:16px; line-height:1.3; margin-bottom:5px; }
.story-card-title { font-size:12px; line-height:1.5; }
.story-card-memory { font-size:10px; margin-top:7px; letter-spacing:.03em; opacity:.8; }
.stories-reading { min-height:0; display:flex; flex-direction:column; }
.story-article { flex:1; overflow-y:auto; padding:32px clamp(24px,4vw,58px) 40px; scroll-behavior:auto; }
.story-dateline { font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--panel-muted); }
.story-campaign { display:flex; flex-wrap:wrap; align-items:center; gap:5px 12px; padding:10px 13px; margin-bottom:17px; border-left:3px solid #a48846; background:#343f2b; color:#eeeddc; }
.story-campaign-label { font-size:10px; line-height:1.4; letter-spacing:.06em; text-transform:uppercase; color:#d6c392; }
.story-campaign strong { font-size:14px; line-height:1.45; }
.story-date { color:var(--panel-muted); font-size:13px; margin-top:8px; }
.story-name { font:400 clamp(29px,3.3vw,43px)/1.13 Georgia,serif; margin:17px 0 9px; overflow-wrap:anywhere; }
.story-role { font-size:14px; }
.story-memorial { border-left:3px solid var(--panel-ink); padding:5px 0 5px 12px; margin-top:17px; font-size:13px; }
.story-title { font:600 20px/1.4 "Segoe UI",sans-serif; margin:26px 0 12px; }
.story-lead { font-size:17px; line-height:1.7; }
.story-testimony { margin:28px 0; padding:22px 0; border-block:1px solid var(--panel-line); }
.story-label { font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--panel-muted); }
.story-testimony blockquote { font:400 clamp(25px,2.8vw,34px)/1.25 Georgia,serif; margin:13px 0; }
.story-testimony figcaption { font-size:12px; color:var(--panel-muted); line-height:1.5; }
.story-chapter { margin-top:25px; }
.story-chapter h4,.story-machine h4 { font-size:14px; margin-bottom:8px; }
.story-chapter p { font-size:16px; line-height:1.8; }
.story-award { margin-top:28px; padding:20px; border-left:3px solid #a48846; background:color-mix(in srgb,var(--panel) 89%,#c0a566); }
.story-award h4 { margin:8px 0; font:400 23px/1.3 Georgia,serif; }
.story-award p:not(.story-label),.story-machine p { font-size:13px; line-height:1.65; }
.story-machine { margin-top:25px; }
.story-documentation { margin-top:24px; border-top:1px solid var(--panel-line); padding-top:17px; font-size:13px; }
.story-documentation summary { cursor:pointer; padding:6px 0; font-weight:600; }
.story-documentation p { margin:12px 0; line-height:1.65; }
.story-documentation a { display:block; margin-top:9px; color:inherit; text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.story-next { display:block; width:100%; min-height:46px; margin-top:26px; padding:12px 16px; background:#343f2b; color:#eeeddc; border:0; border-radius:3px; text-align:left; font-size:14px; }
.stories-back { display:none; }
.stories-empty p { margin:15px 0; font-size:14px; }
.stories-dialog :focus-visible { outline:3px solid #7b622a; outline-offset:3px; }
.stories-heading :focus-visible { outline-color:#e4c881; }
@media(max-width:700px){
  .story-launch { font-size:12px; padding:8px 10px; }
  .stories-dialog { width:calc(100vw - 16px); height:calc(100svh - 16px); max-height:calc(100svh - 16px); }
  .stories-heading { padding:16px; gap:10px; }
  .stories-heading p { font-size:9px; letter-spacing:.09em; }
  .stories-heading h2 { font-size:27px; }
  .stories-heading button { min-width:70px; font-size:12px; }
  .stories-layout { display:flex; flex-direction:column; }
  .stories-catalogue { flex:1; padding:20px 16px; border:0; }
  .stories-filters { grid-template-columns:1fr 1fr; }
  .stories-filters label:first-child { grid-column:1/-1; }
  .stories-reading { display:none; flex:1; }
  .stories-dialog[data-reading="true"] .stories-catalogue { display:none; }
  .stories-dialog[data-reading="true"] .stories-reading { display:flex; }
  .stories-back { display:block; min-height:45px; flex-shrink:0; padding:11px 18px; text-align:left; border:0; border-bottom:1px solid var(--panel-line); background:transparent; color:var(--panel-ink); font-size:13px; }
  .story-article { padding:24px 22px 30px; }
  .story-name { font-size:32px; }
  .story-lead,.story-chapter p { font-size:15px; line-height:1.75; }
  .story-testimony blockquote { font-size:27px; }
}
@media(max-width:540px){.story-launch{grid-column:1/-1;justify-self:stretch;text-align:left;}}
