#researchPage[hidden]{display:none!important}#researchPage{max-width:1440px;margin:0 auto;padding:48px clamp(20px,4vw,64px) 110px;color:#e7dfd1}.research-intro{margin:12px 0 44px}.research-intro h1{font:400 clamp(42px,5vw,72px)/1.03 'Cormorant Garamond',Georgia,serif;color:#ebddbf;margin:13px 0}.research-intro>p:last-child{font-size:14px;line-height:1.7;color:#9eafba;max-width:570px}.research-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px}.research-card{display:flex;flex-direction:column;min-width:0;border:1px solid #9a825741;border-radius:9px;padding:12px 12px 22px;background:linear-gradient(150deg,#1d2e3c,#12212d);color:#e7dfd1;text-align:left;cursor:pointer;box-shadow:0 15px 36px #050b1290;transition:transform .25s,border-color .25s,box-shadow .25s}.research-card:hover,.research-card:focus-visible{transform:translateY(-5px);border-color:#c6a972;box-shadow:0 22px 40px #050b12b0}.research-card-image{display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:5px;background:#182634}.research-card-image img{display:block;width:100%;height:100%;object-fit:cover}.research-card-meta{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#c0a570;margin:19px 6px 9px}.research-card strong{font:500 30px/1.05 'Cormorant Garamond',Georgia,serif;color:#f0e0c2;margin:0 6px}.research-card-origin{font-size:11px;color:#91a3af;margin:10px 6px 0}.research-overlay{position:fixed;inset:0;z-index:1600;display:grid;place-items:center;padding:16px;background:#04101aeb;backdrop-filter:blur(9px);opacity:0;transition:opacity .45s}.research-overlay.is-open{opacity:1}.research-panel{position:relative;width:min(900px,100%);max-height:calc(100dvh - 32px);display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);overflow:auto;border:1px solid #bba37087;border-radius:15px;background:radial-gradient(ellipse at top left,#30495a,#132533 72%);box-shadow:0 30px 90px #000b;color:#d0d9db;opacity:0;transform:perspective(1500px) rotateY(-75deg) scale(.78);transform-origin:20% 50%;transition:transform .65s cubic-bezier(.22,.7,.15,1),opacity .4s}.research-overlay.is-open .research-panel{opacity:1;transform:perspective(1500px) rotateY(0) scale(1)}.research-visual{padding:22px;display:flex;align-items:center}.research-visual img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;box-shadow:0 16px 35px #0007}.research-detail{padding:55px 48px 42px 20px;min-width:0;align-self:center}.research-kicker,.research-source span{font-size:9px;letter-spacing:.2em;color:#c9ac75}.research-kind{color:#97aeb8;text-transform:uppercase;letter-spacing:.13em;font-size:10px;margin:28px 0 10px}.research-detail h2{font:500 clamp(42px,6vw,68px)/.98 'Cormorant Garamond',Georgia,serif;color:#f4e4c5;margin:0 0 25px}.research-detail p{font-size:14px;line-height:1.7}.research-detail .research-summary{font-size:17px;color:#ebe3d5}.research-source{border-top:1px solid #bba37040;padding-top:18px;margin-top:35px;display:flex;flex-direction:column;gap:8px}.research-source strong{font-size:12px;font-weight:500;color:#e8d5aa}.research-close{position:absolute;z-index:2;top:17px;right:17px;width:38px;height:38px;border:1px solid #bba3707c;border-radius:50%;color:#f1e1bf;background:#263b49;font-size:27px;cursor:pointer}#chapterText .reader-research{display:inline;border:0;border-bottom:1px dashed #e1bc78;padding:0;background:none;color:#f0d69b;font:inherit;line-height:inherit;cursor:pointer;vertical-align:baseline}#chapterText .reader-research:hover,#chapterText .reader-research:focus-visible{color:#fff0cc;border-bottom-color:currentColor;outline-offset:3px}@media(max-width:700px){#researchPage{padding-top:30px}.research-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.research-card{padding:7px 7px 15px}.research-card-meta{font-size:8px;line-height:1.4;margin:12px 5px 6px}.research-card strong{font-size:22px;margin:0 5px}.research-card-origin{font-size:9px;margin:7px 5px 0}.research-panel{display:block}.research-visual{padding:15px 15px 0}.research-visual img{width:min(100%,240px);margin:auto}.research-detail{padding:20px 24px 28px}.research-detail h2{margin-bottom:15px}.research-detail p{font-size:12px;line-height:1.6}.research-detail .research-summary{font-size:15px}.research-kind{margin:15px 0 7px}.research-source{margin-top:20px}.research-close{top:12px;right:12px}}@media(prefers-reduced-motion:reduce){.research-card,.research-overlay,.research-panel{transition:none}}
/* Flip and expand the selected card into its dossier, matching the character card. */
body.research-open{overflow:hidden}
.research-overlay{display:block;opacity:0;transition:opacity .65s ease,backdrop-filter .65s ease}
.research-overlay.is-open{opacity:1}
.research-flying-card{position:fixed;z-index:1;perspective:1600px;transform-origin:0 0;transition:transform .75s cubic-bezier(.22,.7,.15,1);will-change:transform}
.research-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.22,.7,.15,1)}
.research-overlay.is-open .research-flip-inner{transform:rotateY(180deg)}
.research-flip-front,.research-flip-back{position:absolute;inset:0;overflow:hidden;border:1px solid #b3996355;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 35px 100px #0008}
.research-flip-front{display:flex;flex-direction:column;background:#192734}
.research-flip-front>img{display:block;width:100%;height:74%;flex:1;min-height:0;object-fit:cover}
.research-flip-caption{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:110px;padding:18px 24px;background:linear-gradient(145deg,#243847,#142431);color:#e6dfd2}
.research-flip-caption span,.research-flip-caption small{color:#c3aa77;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.research-flip-caption strong{font:500 30px/1.05 'Cormorant Garamond',Georgia,serif;color:#f0e0c2}
.research-flip-caption small{color:#9eafba;font-size:9px}
.research-flip-back{transform:rotateY(180deg);background:#132533}
.research-flip-back .research-panel{width:100%;height:100%;max-height:none;opacity:1;transform:none!important;transition:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.research-overlay,.research-flying-card,.research-flip-inner{transition:none!important}.research-overlay{opacity:1}.research-flip-inner,.research-overlay.is-open .research-flip-inner{transform:none}.research-flip-front{display:none}.research-flip-back{transform:none}.research-flip-back .research-panel{opacity:1}}

/* Match dossier pills in the reader, including on iPhone. */
body:not(.reader-links-classic) #chapterText .reader-research{display:inline!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:0 .13em!important;margin:0!important;border:1px solid #c8ab7466!important;border-radius:.14em!important;background:#d3b0711b!important;color:#f1d399!important;text-decoration:none!important;font:inherit!important;line-height:inherit!important;white-space:normal!important}
#chapterText .reader-research:hover{background:#d3b0713a!important;border-color:#eac78a!important}

/* Research catalog cards use the same two-sided card structure as Family Atlas. */
.research-card{position:relative;display:block;padding:0;border:0;background:transparent;box-shadow:none;perspective:1000px;transform-style:preserve-3d}
.research-card .flip-inner{position:relative;display:block;width:100%;transform-style:preserve-3d}
.research-card .card-front{position:relative;inset:auto;display:flex;flex-direction:column;box-sizing:border-box;padding:12px 12px 22px;border:1px solid #9a825741;border-radius:9px;background:linear-gradient(150deg,#1d2e3c,#12212d);box-shadow:0 15px 36px #050b1290;text-align:left;overflow:hidden}
.research-card:hover .card-front,.research-card:focus-visible .card-front{border-color:#c6a972;box-shadow:0 22px 40px #050b12b0}
.research-card .research-card-image{flex:none}
.research-source-card{z-index:1;opacity:0;pointer-events:none}.research-source-card .flip-inner{height:100%}.research-source-card .card-front{position:absolute;inset:0}
.research-shade{position:fixed;inset:0;z-index:1600;opacity:0;background:#02070bc4;backdrop-filter:blur(8px);transition:opacity .65s ease}
.research-shade.float-visible{opacity:1}
.floating-card.research-floating{z-index:1601}
.floating-card.research-floating .card-back{display:grid;grid-template-columns:minmax(240px,38%) minmax(0,1fr);padding:0;overflow:hidden;background:radial-gradient(ellipse at top left,#30495a,#132533 72%);color:#d0d9db}
.research-floating .research-visual{min-width:0;min-height:0;padding:22px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.research-floating .research-visual img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:8px;box-shadow:0 16px 35px #0007}
.research-floating .research-detail{align-self:stretch;min-width:0;overflow-y:auto;padding:55px 48px 42px 20px;scrollbar-width:thin}
.research-floating .research-close{z-index:3;position:absolute;top:16px;right:16px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid #bba3707c;border-radius:50%;background:#263b49;color:#f1e1bf;box-shadow:0 4px 14px #0006;cursor:pointer}
/* In the reader, keep Research dossiers on the same layer as character dossiers. */
body.reading-mode .research-shade{z-index:1200}
body.reading-mode .floating-card.research-floating{z-index:1201}
@media(prefers-reduced-motion:reduce){.research-shade{transition:none}.floating-card.research-floating,.floating-card.research-floating .flip-inner{transition:none!important}}

/* Reserve three title lines on every catalog card and center shorter names in that slot. */
.research-card .card-front>strong{display:flex;align-items:center;flex:none;height:3.15em;min-height:3.15em;max-height:3.15em;overflow:hidden}
.research-card-title{display:-webkit-box;width:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
