/* Publisher/partner module: scoped to new surfaces; original room art is untouched. */
.publisher-hall{position:relative;width:100%;background:#07150f;display:flex;justify-content:center;isolation:isolate}
.publisher-hall-stage{position:relative;width:min(100%,768px);margin:0;background:#07150f}
.publisher-hall-stage>img,.publisher-art>img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}
.publisher-hall-stage:before,.publisher-hall-stage:after{content:"";position:absolute;left:0;right:0;height:24px;pointer-events:none;z-index:2}
.publisher-hall-stage:before{top:0;background:linear-gradient(#07150f,transparent)}
.publisher-hall-stage:after{bottom:0;background:linear-gradient(transparent,#06120d)}
.publisher-hit{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;color:transparent;border-radius:10px;-webkit-tap-highlight-color:transparent}
.publisher-hit:focus-visible{outline:3px solid #ffe0a0;outline-offset:-3px;background:#ffe0a018}
.publisher-hit:hover{box-shadow:inset 0 0 0 1px #ffe0a066;background:#ffe0a009}
.publisher-hall-enter{inset:0;width:100%;height:100%;z-index:1}
.publisher-hall-enter span{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);padding:10px 18px;border-radius:99px;background:#09291aeb;border:1px solid #d6b576;color:#ffedc5;white-space:nowrap;font-size:13px}
.publisher-scene{background:#051a11;overflow:hidden!important}
.publisher-page{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.publisher-toolbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#061b13f5;border-bottom:1px solid #c2a36955;backdrop-filter:blur(10px)}
.publisher-toolbar button,.publisher-controls button,.publisher-links a,.publisher-filter{border:1px solid #c2a36970;border-radius:999px;padding:9px 14px;background:#0c3022;color:#f5e5bd;text-decoration:none;cursor:pointer;font:inherit;font-size:13px;min-height:42px}
.publisher-toolbar strong{margin-left:auto;color:#efdbaf;font-size:14px}
.publisher-controls{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:12px}
.publisher-controls button[aria-pressed="true"]{background:#d6b576;color:#082318}
.publisher-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1400px;margin:auto;gap:0}
.publisher-directory[data-filter="publishers"] .partner-list,.publisher-directory[data-filter="partners"] .publisher-list{display:none}
.publisher-directory[data-filter]:not([data-filter="all"]){grid-template-columns:1fr;max-width:768px}
.publisher-art{position:relative;margin:0;max-width:768px;width:100%;margin-inline:auto}
.publisher-list .publisher-first,.partner-list .publisher-first{left:2%;top:21%;width:51%;height:28%}
.publisher-content{max-width:768px;margin:0 auto;padding:20px 22px 40px;color:#f6ecd6}
.publisher-content h2{font-size:24px;margin:8px 0 12px;color:#f3ddb0}
.publisher-content h3{font-size:18px;line-height:1.5;margin:8px 0}
.publisher-content p{line-height:1.85;color:#d6d9ca;word-break:keep-all}
.publisher-meta{color:#cdbb97;font-size:13px;line-height:1.7}
.publisher-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.publisher-links a{display:inline-flex;align-items:center}
.publisher-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;margin-top:22px}
.publisher-book{border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;padding:0;min-width:0;font:inherit}
.publisher-book img{display:block;width:100%;height:240px;object-fit:contain;object-position:bottom;background:#071e15;border-radius:5px}
.publisher-book b{display:block;font-size:15px;line-height:1.5;margin-top:10px;word-break:keep-all}
.publisher-book small{display:block;line-height:1.6;color:#babeaa;font-size:12px;margin-top:5px}
.publisher-book:focus-visible,.publisher-content a:focus-visible,.publisher-controls button:focus-visible{outline:2px solid #ffe0a0;outline-offset:4px}
.publisher-product{padding:16px 0 24px;border-bottom:1px solid #bfab7855}
.publisher-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.publisher-gallery figure{margin:0}.publisher-gallery img{width:100%;height:auto;border-radius:6px}.publisher-gallery figcaption{font-size:12px;line-height:1.5;color:#c4cbb9;margin-top:6px}
.publisher-source{margin-top:24px;font-size:12px;color:#a9b4a4!important}.publisher-source a{color:#d9c08a}
.publisher-dialog{width:min(94vw,720px);max-height:88dvh;padding:0;border:1px solid #bd9e62;border-radius:16px;background:#082218;color:#f7ecd2;overflow:auto}
.publisher-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
.publisher-dialog-close{position:sticky;top:8px;float:right;margin:8px 8px 0;z-index:2;border:1px solid #b99b66;background:#082218;color:#ffedc5;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer}
.publisher-detail-cover{display:block;max-width:70%;max-height:58vh;object-fit:contain;margin:0 auto 20px}
.publisher-search{width:100%;box-sizing:border-box;padding:12px;border:1px solid #baa16b;border-radius:8px;background:#04170f;color:#fff;font:inherit;margin:10px 0}
.publisher-empty{grid-column:1/-1;padding:18px 0}
@media(max-width:700px){.publisher-directory{grid-template-columns:1fr}.publisher-toolbar{padding:8px;gap:6px}.publisher-toolbar strong{font-size:12px}.publisher-toolbar button{font-size:12px;padding:8px 11px}.publisher-content{padding:18px 16px 32px}.publisher-book img{height:210px}.publisher-book-grid{gap:22px 12px}.publisher-hall-enter span{font-size:12px;padding:9px 15px}}
@media(prefers-reduced-motion:reduce){.publisher-page{scroll-behavior:auto}}

.publisher-column{min-width:0}.publisher-directory[data-filter="publishers"] .publisher-column-partners,.publisher-directory[data-filter="partners"] .publisher-column-publishers{display:none}.publisher-apply a{display:block;padding:14px;border:1px solid #cbaa67;border-radius:12px;color:#f3d893;text-align:center}.publisher-extra{display:grid;width:100%;gap:12px;padding:16px;margin:16px 0;background:#0b2319;border:1px solid #bca16a;border-radius:16px;color:#f3e6ca;font:inherit;cursor:pointer}.publisher-extra img,.publisher-exhibitor-image{width:100%;height:auto;border-radius:12px}.publisher-catalogue{white-space:pre-wrap}
