/* Shared research typography, palette and image viewer. */
:root { --research-primary:#006e7b; --research-text:#263d46; --research-muted:#61747c; --research-line:#e0e8eb; --research-heading:#193e4c; --research-surface:#eef6f7; --research-font:"Microsoft YaHei","PingFang SC",sans-serif; --unit-primary:var(--research-primary); --unit-text:var(--research-text); --unit-muted:var(--research-muted); --unit-line:var(--research-line); }
.u-hero h1,.research-page-title { margin:0; font:600 28px/1.6 var(--research-font); color:var(--research-heading); }
.u-section h2,.research-section-title { font-size:20px; font-weight:600; color:var(--research-heading); }
.research-page-head { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:22px; border-bottom:1px solid var(--research-line); margin-bottom:28px; }
.research-breadcrumb { color:var(--research-muted); font-size:14px; line-height:1.8; }
.research-breadcrumb a { color:inherit; }
.research-breadcrumb [aria-current] { color:var(--research-primary); }
.u-dialog button:focus-visible { outline:3px solid var(--research-primary); outline-offset:3px; }
@media(max-width:700px) { .u-hero h1,.research-page-title {font-size:24px;} .research-page-head {align-items:flex-start;flex-direction:column;gap:8px;} }
@media(max-width:600px) { .u-dialog-bar {flex-wrap:wrap;} .u-dialog-bar>div {margin-left:auto;} }
.u-dialog { width: min(1200px,96vw); max-width: 96vw; max-height: 94vh; padding: 0; border: 0; color: var(--unit-text); background: #fff; }
.u-dialog::backdrop { background: rgba(13,31,43,.8); }
.u-dialog-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 18px; border-bottom: 1px solid var(--unit-line); }
.u-dialog h2 { font-size: 15px; margin: 0; }
.u-dialog-bar>div { display: flex; gap: 10px; flex-shrink: 0; }
.u-dialog button { border: 1px solid var(--unit-line); background: #f1f7f8; color: var(--unit-primary); font: inherit; font-size: 13px; min-height: 44px; padding: 8px 12px; cursor: pointer; }
.u-dialog-body { overflow: auto; max-height: 78vh; padding: 16px; }
.u-dialog-body img { display: block; width: auto; height: auto; max-width: 100%; max-height: 73vh; margin: auto; object-fit: contain; }
.u-dialog[data-original] .u-dialog-body img { max-width: none; max-height: none; }

/* Optional decorative numbering for research navigation and lists. */
.research-number { color:var(--research-primary); font:italic 16px/1.9 Georgia,serif; flex-shrink:0; }
