.atlas{margin:36px 0 60px}.atlas h3{font-size:clamp(25px,3vw,38px);line-height:1.4}.atlasControls{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.atlas button,.atlas select,#atlasDetail button{font:inherit;color:#fff0d3;background:#25273c;border:1px solid #af9464;padding:10px 18px;border-radius:8px;cursor:pointer;min-height:46px}.atlas button:hover,#atlasDetail button:hover{background:#3a3f59}.atlasViewport{overflow:auto;border:1px solid #9b814c;border-radius:12px;max-height:85vh;background:#141425;overscroll-behavior:contain}.atlasViewport svg{display:block;width:100%;min-width:1400px;height:auto}.atlasViewport.atlasZoomed svg{width:2200px;min-width:2200px}.atlasPerson{cursor:pointer}.atlasPerson:hover circle,.atlasPerson:focus circle{stroke:#fff;stroke-width:8}.atlasPerson:focus{outline:none}.atlas button:focus-visible,.atlas select:focus-visible,#atlasDetail button:focus-visible,.atlasViewport:focus-visible{outline:3px solid #ffe2a0;outline-offset:4px}.atlasFilter{display:flex;gap:15px;align-items:center;margin:20px 0}.atlasCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.atlasCard{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.atlasCard img{width:112px;height:112px;aspect-ratio:1;object-fit:cover;border-radius:50%;display:block}.atlasCard strong{font-size:18px;line-height:1.4}.atlasCard small{font-size:14px;color:#d6d0dc}#atlasDetail{width:min(92vw,600px);max-height:88vh;overflow:auto;background:#1c2035;color:#fff0d3;border:1px solid #c6a463;border-radius:20px;padding:28px}#atlasDetail::backdrop{background:#030616ce}#atlasClose{float:right}#atlasFace{width:150px;height:150px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid #d3b573}#atlasName{font-size:32px;margin-top:20px}#atlasRelList{padding-left:20px}#atlasRelList li{border-top:1px solid #4e5266;padding:20px 0}#atlasRelList p{margin:8px 0;color:#d6d0dc}#atlasRelList button{font-size:16px}#atlasError:empty{display:none}@media(max-width:600px){.atlasCards{grid-template-columns:repeat(2,minmax(0,1fr))}.atlasCard img{width:100px;height:100px}.atlasCard{padding:14px 8px!important}.atlasViewport{max-height:75vh}.atlasControls button{font-size:16px}#atlasDetail{padding:20px}}

.atlasViewport.atlasFitted svg{width:100%;min-width:0}

.atlasViewport.atlasFitted{max-height:none}
