.gallery-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; padding: 44px 0 30px; }
.gallery-hero h1 { font-size: clamp(36px, 4.8vw, 58px); line-height: 1.2; margin: 18px 0; letter-spacing: -.035em; }
.gallery-hero h1 span { color: var(--accent); }
.gallery-hero .lead { max-width: 560px; }
.gallery-hero-note { color: #b9dce9; font-size: 12px; margin-top: 20px; line-height: 1.8; }
.gallery-banner { margin: 0; }
.gallery-banner button { display: block; width: 100%; padding: 0; border: 1px solid var(--line); border-radius: 24px; overflow: hidden; background: #eaf0ff; cursor: zoom-in; }
.gallery-banner img { width: 100%; display: block; height: auto; }
.gallery-banner figcaption { color: var(--muted); font-size: 11px; line-height: 1.7; margin: 12px 4px 0; }
.gallery-toolbar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; align-items: center; padding: 20px 0 26px; }
.gallery-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.gallery-filters button { border: 1px solid var(--line); border-radius: 999px; background: #ffffff06; color: var(--muted); padding: 10px 18px; font: inherit; font-size: 13px; font-weight: 650; line-height: 1.4; cursor: pointer; }
.gallery-filters button[aria-pressed="true"] { background: #b9f4f6; color: #102b41; border-color: transparent; }
.gallery-count { color: var(--muted); font-size: 13px; }
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding-bottom: 38px; }
.exhibit { border: 1px solid var(--line); border-radius: 24px; background: #0c203c90; overflow: hidden; min-width: 0; scroll-margin-top: 110px; }
.exhibit[hidden] { display: none; }
.exhibit-art { position: relative; background: #fff; }
.exhibit-art button { width: 100%; display: block; height: 370px; border: 0; padding: 18px 24px; background: transparent; cursor: zoom-in; }
.exhibit-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
.exhibit.deepseek .exhibit-art { background: #fff; }
.exhibit-number { position: absolute; top: 14px; left: 14px; background: #071225; color: #dffcff; border: 1px solid #ffffff25; border-radius: 8px; padding: 6px 8px; font-size: 10px; letter-spacing: .08em; pointer-events: none; }
.exhibit-view { position: absolute; bottom: 12px; right: 12px; color: #dffcff; background: #071225e8; padding: 6px 10px; border-radius: 8px; font-size: 10px; pointer-events: none; }
.exhibit-info { padding: 23px; }
.exhibit-info h2 { font-size: 25px; line-height: 1.25; margin-bottom: 6px; }
.exhibit-character { color: var(--accent); font-size: 13px; font-weight: 750; line-height: 1.7; }
.exhibit-appearance { color: var(--muted); font-size: 13px; line-height: 1.85; margin: 14px 0 18px; }
.exhibit-facts { border-top: 1px solid var(--line); padding-top: 16px; }
.exhibit-facts dt { font-size: 10px; color: #8298b0; margin-bottom: 5px; }
.exhibit-facts dd { font-size: 12px; color: #d9e6f2; line-height: 1.8; margin-bottom: 12px; }
.exhibit-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.exhibit-links a, .exhibit-links button { border: 1px solid var(--line); border-radius: 10px; padding: 9px 12px; color: #cfebf3; text-decoration: none; font-size: 11px; font-weight: 750; }
.exhibit-links .official-link { color: #06213a; background: #b9f4f6; border-color: transparent; }
.exhibit-links a:hover { filter: brightness(1.13); }
.exhibit details { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 13px; }
.exhibit summary { cursor: pointer; font-size: 11px; color: var(--muted); }
.exhibit details p { font-size: 11px; line-height: 1.8; color: var(--muted); margin: 10px 0; }
.exhibit details a { font-size: 11px; color: var(--accent); margin-right: 12px; line-height: 2.2; }
.gallery-source { border: 1px solid var(--line); border-radius: 22px; padding: 26px; background: #0a203680; margin-bottom: 46px; }
.gallery-source h2 { font-size: 18px; margin-bottom: 12px; }
.gallery-source p { color: var(--muted); font-size: 12px; line-height: 1.9; margin: 8px 0; }
.gallery-source a { color: var(--accent); }
.gallery-dialog { width: min(900px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); border: 1px solid #81b4d855; border-radius: 20px; padding: 0; background: #071225; color: var(--ink); margin: auto; box-shadow: 0 25px 100px #0009; }
.gallery-dialog::backdrop { background: #020710d9; backdrop-filter: blur(8px); }
.gallery-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 14px 18px; }
.gallery-dialog-header h2 { font-size: 15px; line-height: 1.6; }
.gallery-dialog-header button { flex-shrink: 0; border: 1px solid var(--line); border-radius: 10px; color: #e8f6ff; background: #ffffff09; padding: 9px 14px; cursor: pointer; font: inherit; font-size: 12px; }
.gallery-dialog-art { background: #fff; display: grid; place-items: center; }
.gallery-dialog-art img { display: block; max-width: 100%; width: auto; height: auto; max-height: calc(100dvh - 155px); object-fit: contain; }
.gallery-dialog-note { padding: 12px 18px; color: var(--muted); font-size: 11px; line-height: 1.8; }
body.gallery-image-open { overflow: hidden; }
.gallery-project { grid-column: 1 / -1; flex-direction: row; }
.gallery-project .project-art { width: 43%; height: auto; min-height: 240px; flex: 0 0 auto; background: #f0efff; }
.gallery-project .project-art img { width: 100%; height: 100%; object-fit: contain; }
.gallery-project .project-number { background: #071225e0; border-radius: 8px; padding: 7px 9px; }
@media (max-width: 1020px) { .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gallery-hero { gap: 24px; } }
@media (max-width: 760px) {
  .gallery-hero { grid-template-columns: 1fr; gap: 24px; padding: 28px 0 10px; }
  .gallery-hero h1 { font-size: 38px; }
  .gallery-hero .lead { font-size: 14px; }
  .gallery-grid { grid-template-columns: 1fr; gap: 20px; }
  .exhibit-art button { height: 390px; }
  .gallery-filters button { font-size: 12px; padding: 9px 14px; }
  .gallery-source { padding: 22px; }
  .gallery-project { flex-direction: column; }
  .gallery-project .project-art { width: 100%; min-height: 0; height: auto; }
  .gallery-project .project-art img { height: auto; }
}

.exhibit-links button { background: #ffffff08; font: inherit; font-size: 11px; cursor: zoom-in; }
.exhibit-variants { margin-top: 12px; }
