/* Full-viewport reading views; the original gallery remains the return point. */
#info-language{font:inherit;min-width:44px;min-height:44px;padding:0 10px;border-left:1px solid var(--line)}
.info-dialog:is([data-mode=index],[data-mode=research]){inset:0;margin:0;padding:0 28px;width:100%;max-width:none;height:100dvh;max-height:none;overflow:hidden;background:var(--paper)}
.info-dialog:is([data-mode=index],[data-mode=research])[open]{display:grid;grid-template-rows:70px minmax(0,1fr)}
.info-dialog:is([data-mode=index],[data-mode=research])::backdrop{background:var(--paper);backdrop-filter:none}
.info-dialog:is([data-mode=index],[data-mode=research]) .info-top{height:70px;min-height:0;padding:0;border-bottom:1px solid var(--line);align-items:center}
.info-dialog:is([data-mode=index],[data-mode=research]) .info-mark{font-size:11px;letter-spacing:.03em}
.info-dialog:is([data-mode=index],[data-mode=research]) #info-content{height:100%;min-height:0;min-width:0}
.index-room,.research-room{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:22px}
.info-dialog .room-heading{display:flex;align-items:baseline;gap:30px;padding-top:18px;min-width:0}
.info-dialog .room-heading h2{font-size:clamp(72px,13dvh,150px);font-weight:460;font-variation-settings:'wdth' 106,'wght' 460;letter-spacing:-.075em;line-height:.95;margin:0;padding-bottom:.09em;white-space:nowrap}
.room-heading h2 sup{display:inline-block;font:12px Plex,monospace;vertical-align:top;letter-spacing:0;margin:12px 0 0 18px;color:var(--muted)}
.room-view-switch{margin-left:auto;min-height:44px;font:12px Plex,monospace;white-space:nowrap}
.room-view-switch:hover{text-decoration:underline;text-underline-offset:5px}
.info-dialog .room-colophon{font:10px/1.55 Plex,monospace;color:var(--muted);margin:0;max-width:none;min-height:42px;padding:12px 0;border-top:1px solid var(--line)}
.index-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(28px,4vw,76px);min-height:0;min-width:0}
.index-directory{display:flex;flex-direction:column;min-height:0;min-width:0}
.directory-head{display:flex;justify-content:space-between;align-items:center;font:10px Plex,monospace;color:var(--muted);padding:0 36px 14px 40px;flex-shrink:0}
.index-room .index-list{display:grid;grid-template-rows:repeat(var(--index-rows),minmax(36px,1fr));flex:1;overflow:auto;min-height:0;scrollbar-width:thin;padding:2px 6px 2px 0;margin:0}
.index-room .index-list li{border-bottom:1px solid #b5b9ac80;min-width:0}
.index-room .index-list button{height:100%;min-height:36px;padding:0 10px 0 4px;grid-template-columns:30px minmax(0,1fr) 92px 15px;gap:8px;width:100%;font-size:clamp(15px,1.3vw,23px);letter-spacing:-.04em;transition:background 200ms,color 200ms}
.index-room .index-list button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.index-room .index-list button[aria-pressed=true] .num,.index-room .index-list button[aria-pressed=true] .index-kind{color:var(--paper)}
.index-room .index-list button:focus-visible{outline-offset:-2px;outline-color:#bd5838}
.index-room .index-list .num{font:10px Plex,monospace;letter-spacing:0}
.index-room .index-list .index-name{min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.index-room .index-list .index-kind{grid-column:auto;text-align:right;font:9px Plex,monospace;letter-spacing:0}
.index-arrow{font-size:16px;text-align:right;opacity:0}.index-list button[aria-pressed=true] .index-arrow{opacity:1}
.index-preview{display:grid;grid-template-rows:minmax(0,1fr) auto 48px;gap:18px;min-height:0;min-width:0}
.index-image-frame{min-height:0;overflow:hidden;background:#d1d5c7}.index-image-frame img{width:100%;height:100%;object-fit:cover}.index-image-frame.is-identity img{object-fit:contain;padding:13%}
.info-dialog .index-preview .preview-meta{font:10px/1.5 Plex,monospace;margin:0 0 8px;max-width:none;color:var(--muted)}
.index-preview h3{font-size:clamp(28px,3.1vw,48px);font-weight:440;letter-spacing:-.055em;line-height:1.03;margin-bottom:8px}
.info-dialog #index-preview-summary{font-size:15px;line-height:1.45;margin:0;max-width:none}
.index-open{display:flex;justify-content:space-between;align-items:center;min-height:44px;border-top:1px solid var(--ink);font-size:17px;text-align:left;padding:0 2px}
.index-open>span:last-child{font-size:28px}.index-open:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}
.index-pager{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-shrink:0;font:10px Plex,monospace;min-height:44px}.index-pager[hidden]{display:none}.index-pager button{min-width:44px;min-height:44px;font-size:24px}.index-pager button:disabled{opacity:.3;cursor:default}
.research-room{grid-template-rows:auto auto minmax(0,1fr) auto;gap:18px}
.room-heading-note{font:12px Plex,monospace;margin-left:auto;white-space:nowrap;color:var(--muted)}
.research-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}
.research-topics .research-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;text-align:left;gap:17px;padding:16px 0;margin:0;border:0;position:relative;min-height:58px}
.research-note>span:first-child{font:10px Plex,monospace;color:var(--muted);white-space:nowrap}
.research-note>span:nth-child(2){font-size:clamp(15px,1.6vw,24px);letter-spacing:-.04em;line-height:1.2}
.research-note>span:last-child{font-size:21px;opacity:0}.research-note[aria-pressed=true]>span:last-child{opacity:1}
.research-note::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 340ms var(--ease)}.research-note[aria-pressed=true]::after{transform:scaleX(1)}
.research-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4vw,70px);min-height:0;min-width:0}
.research-visual{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0;min-width:0}
.research-plate{position:relative;min-width:0;min-height:0;background:#d1d5c7;overflow:hidden}
.research-image{width:100%;height:100%;object-fit:cover}
.identity-specimen{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;padding:24px 28px 40px;gap:12px}
.specimen-mark{height:clamp(66px,17dvh,180px);width:auto;flex-shrink:0}
.specimen-type{width:100%;font-size:clamp(25px,5.1vw,86px);font-variation-settings:'wdth' 100,'wght' 510;line-height:.85;letter-spacing:-.065em;transition:font-variation-settings 480ms var(--ease);text-align:center}
.specimen-type>span{display:block;white-space:nowrap;padding-bottom:.08em}
.specimen-caption{position:absolute;bottom:14px;left:16px;font:9px Plex,monospace;color:var(--muted)}
.specimen-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 24px;min-height:44px;font:10px Plex,monospace}
.specimen-presets{display:flex;gap:16px}.specimen-presets button{min-height:44px;padding:0 2px;position:relative}.specimen-presets button[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}
.specimen-range{display:flex;align-items:center;gap:12px;min-height:44px}.specimen-range input{width:100px;accent-color:var(--ink);min-height:32px;margin:0;cursor:ew-resize}.specimen-range output{min-width:24px;text-align:right}
.research-reading{display:flex;flex-direction:column;min-height:0;min-width:0}
.research-chapters{display:flex;gap:clamp(12px,2vw,30px);flex-shrink:0;border-bottom:1px solid var(--line);margin-bottom:26px;min-height:44px;align-items:center}
.research-chapters button{min-height:44px;white-space:nowrap;font:11px Plex,monospace;padding:0 1px;color:var(--muted);position:relative}
.research-chapters button[aria-pressed=true]{color:var(--ink)}.research-chapters button[aria-pressed=true]::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink)}
#research-copy{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;padding:2px 14px 20px 1px;overscroll-behavior:contain}
#research-copy:focus-visible{outline:1px solid var(--line);outline-offset:2px}
#research-copy h3{font-size:clamp(29px,3.4vw,54px);font-weight:440;letter-spacing:-.055em;line-height:1.04;margin-bottom:28px;max-width:15ch;text-wrap:balance}
.info-dialog #research-copy p{font-size:clamp(16px,1.4vw,21px);line-height:1.6;max-width:48ch;margin:0 0 22px}
.research-open-study{min-height:48px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;border-top:1px solid var(--line);font:11px Plex,monospace;text-align:left;gap:12px;margin-top:12px}.research-open-study>span:last-child{font-size:26px}
.info-dialog .visual-caption{font:10px/1.55 Plex,monospace;color:var(--muted);margin:0;max-width:none;padding-bottom:8px}
@media(max-width:1100px){.info-dialog:is([data-mode=index],[data-mode=research]){padding-inline:22px}.index-workspace,.research-workspace{gap:26px}.research-note>span:first-child{display:none}.research-topics .research-note{grid-template-columns:minmax(0,1fr) auto}.specimen-controls{gap:0 12px}.specimen-presets{gap:12px}.specimen-range{gap:8px}.specimen-range input{width:85px}.index-room .index-list button{grid-template-columns:28px minmax(0,1fr) 14px;font-size:17px}.index-room .index-list .index-kind,.directory-head>span:last-child{display:none}.research-chapters{gap:13px}.research-chapters button{font-size:10px}}
@media(max-width:760px){
 .info-dialog:is([data-mode=index],[data-mode=research]){padding:env(safe-area-inset-top,0px) 18px env(safe-area-inset-bottom,0px)}
 .info-dialog:is([data-mode=index],[data-mode=research])[open]{grid-template-rows:56px minmax(0,1fr)}
 .info-dialog:is([data-mode=index],[data-mode=research]) .info-top{height:56px;font-size:10px;gap:12px}
 .info-dialog .room-heading{gap:12px;padding-top:12px}.info-dialog .room-heading h2{font-size:clamp(47px,14.5vw,72px);letter-spacing:-.06em}.room-heading h2 sup{font-size:9px;margin:5px 0 0 10px}
 .room-view-switch{font-size:10px}.index-room,.research-room{gap:12px}.info-dialog .room-colophon{min-height:32px;padding:8px 0;font-size:8px;line-height:1.5}
 .index-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}
 .directory-head{display:none}.index-room .index-list{grid-template-rows:repeat(var(--index-rows),44px);flex:none;overflow:hidden;padding:0}
 .index-room .index-list button{font-size:18px;grid-template-columns:28px minmax(0,1fr) 15px;min-height:44px;padding-inline:5px;gap:8px}.index-room .index-list .num{font-size:9px}
 .index-pager{min-height:44px}.index-pager button{min-height:44px}.index-preview{gap:8px;grid-template-rows:minmax(60px,1fr) auto 44px}
 .info-dialog .index-preview .preview-meta{font-size:8px;margin-bottom:4px}.index-preview h3{font-size:25px;margin-bottom:3px}.info-dialog #index-preview-summary{font-size:12px}.index-open{font-size:14px;min-height:44px}
 .room-heading-note{display:none}.research-room{grid-template-rows:auto auto minmax(0,1fr) auto}
 .research-topics{gap:15px}.research-topics .research-note{min-height:52px;padding:8px 0;grid-template-columns:1fr;gap:0}.research-note>span:nth-child(2){font-size:13px;line-height:1.2;letter-spacing:-.03em}.research-note>span:last-child{display:none}
 .research-workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(150px,.95fr) minmax(0,1fr);gap:12px}
 .research-visual{gap:0}.identity-specimen{display:grid;grid-template-columns:80px minmax(0,1fr);padding:20px 20px 32px;gap:20px;align-items:center}
 .specimen-mark{width:68px;height:auto}.specimen-type{font-size:clamp(24px,6.5vw,37px)}.specimen-caption{font-size:8px;bottom:9px;left:12px}
 .specimen-controls{gap:0 8px;font-size:9px}.specimen-presets{gap:10px}.specimen-range{gap:6px}.specimen-range input{width:65px}.specimen-range output{min-width:21px}
 .research-chapters{gap:0;justify-content:space-between;min-height:40px;margin-bottom:12px}.research-chapters button{font-size:9px;min-height:40px;padding:0}
 #research-copy{padding-right:8px;padding-bottom:10px}#research-copy h3{font-size:27px;line-height:1.06;max-width:19ch;margin-bottom:16px}
 .info-dialog #research-copy p{font-size:14px;line-height:1.65;margin-bottom:14px}.research-open-study{min-height:44px;margin-top:4px;font-size:9px}.info-dialog .visual-caption{font-size:8px;padding:6px 0 0}
}
@media(max-height:700px) and (min-width:761px){.info-dialog .room-heading h2{font-size:70px}.index-room,.research-room{gap:12px}.research-topics .research-note{min-height:48px;padding:10px 0}.research-chapters{margin-bottom:14px}#research-copy h3{font-size:32px;margin-bottom:20px}.info-dialog #research-copy p{font-size:16px}.specimen-mark{height:80px}.specimen-type{font-size:50px}.identity-specimen{padding-block:16px 34px;gap:8px}}
@media(max-width:760px) and (max-height:650px){.info-dialog .room-heading h2{font-size:44px}.index-room,.research-room{gap:8px}.index-preview-copy #index-preview-summary{display:none}.index-preview h3{font-size:22px}.index-preview-copy .preview-meta{display:none}.index-workspace{gap:8px}.research-workspace{grid-template-rows:minmax(124px,.8fr) minmax(0,1fr);gap:6px}.research-topics .research-note{min-height:44px}.research-chapters{margin-bottom:8px}#research-copy h3{font-size:24px}.identity-specimen{padding:10px 16px 24px}.specimen-mark{width:42px}.specimen-type{font-size:24px}}
@media(max-height:480px){
 .info-dialog:is([data-mode=index],[data-mode=research])[open]{grid-template-rows:44px minmax(0,1fr)}.info-dialog:is([data-mode=index],[data-mode=research]) .info-top{height:44px}
 .info-dialog .room-heading{padding-top:6px}.info-dialog .room-heading h2{font-size:38px}.index-room,.research-room{gap:7px}.info-dialog .room-colophon{min-height:24px;padding:5px 0;font-size:8px}
 .index-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:18px}.index-preview{grid-template-rows:minmax(0,1fr) auto 36px;gap:5px}.index-preview h3{font-size:20px}.index-open{min-height:36px;font-size:12px}.index-preview-copy .preview-meta,.info-dialog #index-preview-summary,.directory-head{display:none}.index-room .index-list{flex:1;grid-template-rows:repeat(var(--index-rows),minmax(36px,1fr));overflow:auto}.index-room .index-list button{min-height:36px;font-size:15px}
 .research-topics .research-note{min-height:34px;padding:5px 0}.research-note>span:nth-child(2){font-size:13px}.research-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:22px}.research-visual{gap:0}.identity-specimen{display:grid;grid-template-columns:50px minmax(0,1fr);padding:12px 15px 26px;gap:12px}.specimen-mark{width:44px;height:auto}.specimen-type{font-size:clamp(20px,3.2vw,38px)}.specimen-controls{min-height:36px;gap:0;font-size:8px}.specimen-presets{gap:8px}.specimen-presets button,.specimen-range{min-height:36px}.specimen-range{gap:5px}.specimen-range input{width:46px;min-height:30px}.research-chapters{margin-bottom:9px;min-height:34px;gap:6px}.research-chapters button{min-height:34px;font-size:8px}#research-copy h3{font-size:23px;margin-bottom:14px}.info-dialog #research-copy p{font-size:13px}.research-open-study{min-height:34px;font-size:8px;margin-top:2px}.specimen-caption{font-size:7px;bottom:8px;left:10px}
}
@media(prefers-reduced-motion:reduce){.specimen-type,.research-note::after,.index-room .index-list button{transition:none}}
