/* Chapter 2-1 uses the established reading surface and shared notebook. */
.london-opening-rebuild .morning-story{display:block;max-width:46rem;margin-inline:auto}
.london-opening-rebuild .london-opening-art{max-width:38rem;margin:1.4rem auto}
.london-opening-rebuild .london-opening-art img{display:block;width:100%;height:auto;object-fit:contain}
.london-new-room{position:relative;max-width:38rem;margin:auto}
.london-new-room .london-opening-art{margin:0}
.london-new-hotspots{position:absolute;inset:0;pointer-events:none}
.london-new-hotspot{position:absolute;pointer-events:auto;min-width:44px;min-height:44px;border-radius:50%;border:1px solid #d9b774;background:#172c24e8;color:#f7e5b8;transform:translate(-50%,-50%);font:inherit}
.london-new-hotspot[aria-pressed=true]{background:#916c35;color:#fff}
.london-new-hotspot.spot-mirror{left:12%;top:18%}.london-new-hotspot.spot-body{left:65%;top:45%}.london-new-hotspot.spot-desk{left:32%;top:36%}
.london-new-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem}
.london-new-choices button{min-width:0;padding:.8rem .55rem;font-size:1rem}
.london-new-choices button small{display:block;margin-top:.35rem;font-size:.82rem}
.london-new-observation{margin:1.7rem 0}.london-new-observation h2{margin:1.1rem 0;font-size:1.35rem}
.london-new-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;max-width:36rem;margin:1.5rem auto}
.london-new-portraits figure,.london-new-reflection{margin:0}
.london-new-portrait{aspect-ratio:1/2;background-image:url('assets/chronicle/london-opening-v20-portraits.webp');background-size:300% auto;background-repeat:no-repeat;background-position:0 0}
.london-new-portrait.is-person-1{background-image:url('assets/chronicle/london-opening-v20-belton.webp');background-size:100% auto;transform:scaleX(-1)}
.london-new-portrait.is-person-2{background-position:100% 0}.london-new-portrait.is-mirror{transform:scaleX(-1)}
.london-new-portraits .london-new-portrait{filter:grayscale(1);border:4px solid #d8cfbb;box-sizing:border-box}
.london-new-portraits figcaption,.london-new-reflection figcaption{text-align:center;margin-top:.45rem;font-size:1rem}
.london-new-reflection{width:8rem;margin:1.4rem auto}.london-new-reflection .london-new-portrait{aspect-ratio:2/3}
.london-new-seam{max-width:28rem;margin:1.5rem auto;color:#d8bd88}.london-new-seam svg{width:100%;height:auto}.london-new-seam figcaption{text-align:center;font-size:1rem}
.london-new-paper{margin:1rem 0;padding:1rem 1.2rem;background:#ede5d2;color:#2e3029;border-left:3px solid #ad8a4f}
.london-new-paper h3{color:inherit;font-size:1.1rem;margin:0 0 .8rem}.london-new-paper dl{margin:0}.london-new-paper dl>div{display:grid;grid-template-columns:minmax(5rem,1fr) 2fr;gap:1rem;padding:.45rem 0}.london-new-paper dd{margin:0;color:inherit}.london-new-paper dt{color:#55564b}
.london-new-ready{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem}
@media(max-width:540px){.london-new-choices{grid-template-columns:1fr}.london-new-choices button{text-align:left}.london-new-portraits{gap:.5rem}.london-new-paper{padding:.9rem}.london-new-paper dl>div{grid-template-columns:1fr 1.8fr;gap:.6rem}.london-new-hotspot{min-width:44px;min-height:44px}}

.opening-action-diagram{margin:1.5rem 0;padding:1.1rem;border:1px solid #9ba99166;border-radius:8px;background:#142720;color:#e1e5d4}.opening-action-diagram figcaption{font-weight:600;font-size:1.1rem;margin-bottom:1rem}.opening-action-diagram ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;gap:1rem}.opening-action-diagram li{min-width:0;border-top:1px solid #82977c;padding-top:.7rem}.opening-action-diagram li>span{display:block;color:#d5bf86;font:600 .875rem monospace}.opening-action-diagram strong{display:block;font-size:1rem;margin:.3rem 0}.opening-action-diagram svg{width:100%;max-width:180px;height:65px}.opening-action-diagram p{font-size:.95rem!important;line-height:1.65!important;margin:.6rem 0!important}.opening-action-diagram .opening-action-stays{border-top:1px solid #82977c;padding-top:.8rem;color:#d7cca9}@media(max-width:560px){.opening-action-diagram ol{grid-template-columns:1fr}.opening-action-diagram svg{float:right;width:100px}.opening-action-diagram li{display:flow-root}}
