.reconstruction-layers { margin: .6rem .35rem; border: 1px solid #68577c; border-radius: .6rem; background: #172131; color: #e4eaf1; }
.reconstruction-layers > summary { cursor: pointer; padding: .7rem; font-size: .8rem; font-weight: 700; min-height: 44px; box-sizing: border-box; }
.reconstruction-controls { display: flex; align-items: center; gap: .35rem; padding: 0 .55rem; }
.reconstruction-controls label { display: flex; align-items: center; gap: .45rem; flex: 1; min-width: 0; font-size: .8rem; }
.reconstruction-controls input { width: 20px; height: 20px; accent-color: #c792ea; }
.reconstruction-controls button { min-height: 44px; min-width: 44px; padding: .35rem; }
.reconstruction-layers p { margin: .5rem .7rem; font-size: .74rem; line-height: 1.45; overflow-wrap: anywhere; }
.reconstruction-note { color: #d4bedf; }
#reconstruction-status:empty { display: none; }
.reconstruction-evidence { margin-block: .7rem; border-top: 1px solid #68577c; padding-block: .6rem; }
.reconstruction-evidence summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 700; }
.reconstruction-evidence p { font-size: .82rem; line-height: 1.5; }
.reconstruction-evidence nav { display: flex; flex-wrap: wrap; gap: .4rem; }
.reconstruction-evidence a { min-height: 44px; display: inline-flex; align-items: center; padding: .4rem .6rem; border: 1px solid #68577c; border-radius: .4rem; }
.reconstruction-layers :focus-visible, .reconstruction-evidence :focus-visible { outline: 2px solid #e4baff; outline-offset: 2px; }
.reconstruction-layers [hidden], .reconstruction-evidence [hidden] { display: none !important; }
