.shell{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:24px}.demo-form{display:grid;gap:8px}.demo-form label{font-size:12px;color:var(--muted)}.demo-form select,.demo-form button{font:inherit}.demo-form select{width:100%;padding:9px;background:var(--paper);color:var(--ink);border:1px solid var(--line)}.demo-form select:focus-visible,.demo-form button:focus-visible{outline:3px solid var(--rust);outline-offset:3px}.demo-form button{border:0;cursor:pointer;justify-content:center}.demo-form button:disabled{opacity:.55;cursor:wait}.demo-status{font-size:12px;color:var(--muted)}.demo-chart{display:block;width:100%;max-width:300px;height:auto;margin-top:15px;background:var(--paper)}.demo-chart line{stroke:var(--muted);stroke-width:1}.demo-chart circle{fill:var(--rust)}.demo-chart text{font:9px ui-sans-serif;fill:var(--muted)}.contact-band .muted{color:var(--muted)}.notebook-fragment pre{overflow:auto;padding:18px;background:var(--paper);border:1px solid var(--line);font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.notebook-fragment code{font:0.92em ui-monospace,SFMono-Regular,Menlo,monospace}.notebook-fragment table{border-collapse:collapse;max-width:100%;display:block;overflow:auto}.notebook-fragment th,.notebook-fragment td{padding:7px 10px;border:1px solid var(--line);text-align:left;font-size:13px}.notebook-fragment svg{max-width:100%;height:auto}.notebook-fragment .cell{margin-bottom:24px}.katex-display{overflow-x:auto;overflow-y:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:0s!important;animation-duration:0s!important}}@media(max-width:700px){.shell{padding-inline:20px}}
.project-layout>*{min-width:0}.prose{overflow-wrap:anywhere}.prose math{max-width:100%;overflow-x:auto}.project-header h1{overflow-wrap:break-word}.notebook-fragment{min-width:0}.notebook-fragment pre{max-width:100%;overflow:auto}
.project-media img{width:auto;max-width:100%;height:auto;object-fit:contain}
.project-grid.is-grid,.archive-list.is-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.portrait{display:block;width:160px;height:160px;object-fit:cover;border-radius:50%;margin:0 auto 24px}
.report-page{padding-top:32px}.report-frame{display:block;width:100%;height:1000px;border:0;margin-top:16px}
.pdf-report{height:85vh;min-height:600px}
@media(max-width:700px){.project-grid.is-grid,.archive-list.is-grid{grid-template-columns:1fr}}
