.thesis-figure{margin-top:1.8rem;margin-bottom:1.8rem}.thesis-figure img{display:block;width:100%;height:auto;background:#fff}.thesis-figure figcaption{margin-top:.7rem;line-height:1.6;color:var(--global-text-color);opacity:.85}.thesis-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.thesis-pair figure{margin:0;min-width:0}.thesis-pair figcaption{text-align:center}.thesis-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.thesis-stack figure{margin:0}.thesis-stack svg{display:block;width:100%;height:auto}.thesis-stack figcaption{text-align:center}.thesis-diagram img{background:transparent}.thesis-diagram .diagram-dark{display:none}html[data-theme="dark"] .thesis-diagram .diagram-light{display:none}html[data-theme="dark"] .thesis-diagram .diagram-dark{display:block}.thesis-comparison{display:block;max-width:500px;margin:0 auto;width:100%}.thesis-comparison img{width:100%;height:auto;display:block}.thesis-table{width:100%;overflow-x:auto;margin:1.5rem 0}.thesis-table table{width:100%}.thesis-table th,.thesis-table td{padding:.6rem .7rem;text-align:left;vertical-align:top}.thesis-table th{border-bottom:2px solid var(--global-divider-color)}.thesis-table td{border-bottom:1px solid var(--global-divider-color)}.thesis-memory{margin:1.5rem 0}.thesis-memory label{display:block;font-size:.95em}.thesis-memory input[type="range"]{display:block;box-sizing:border-box;width:100%;margin:.8rem 0 .4rem;padding:0;accent-color:var(--global-theme-color);cursor:pointer}.thesis-memory input[type="range"]:focus-visible{outline:2px solid var(--global-theme-color);outline-offset:4px}.thesis-memory .memory-range-ends{display:flex;justify-content:space-between;font-size:.85em}.thesis-memory output{font-variant-numeric:tabular-nums}d-article details{margin-top:1.5rem;margin-bottom:1.5rem}d-article summary{cursor:pointer;font-weight:600}d-article h2,d-article h3{scroll-margin-top:6rem}@media(max-width:575px){.thesis-table th,.thesis-table td{padding:.5rem .35rem;font-size:.88em}}.thesis-languages{font-size:.9em;margin-bottom:1.8rem}