.plot{position:relative;width:100%;max-width:920px;aspect-ratio:920 / 820;--gridc: var(--grid);--sc: 2.6;--gsc: 2.4}.plot-space{--gridc: var(--grid-zoom);--sc: 3.2}.plot-frame{position:absolute;inset:0 0 48px 48px;border-left:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);overflow:hidden;container-type:size}.gl{position:absolute;background:var(--gridc)}.gl-v{top:0;bottom:0;width:1px;left:calc(var(--i) * 10%)}.gl-h{left:0;right:0;height:1px;top:calc(var(--i) * 10%)}.tick{position:absolute;font-family:var(--font-mono);font-size:11px;line-height:1.3;color:var(--muted)}.tick-x{top:calc(100% - 38px);left:calc(48px + (100% - 48px) * var(--i) / 4);transform:translate(-50%)}.tick-y{left:0;top:calc((100% - 48px) * var(--i) / 4);transform:translateY(-50%)}.axis-x,.axis-y{position:absolute;font-family:var(--font-mono);font-size:12px;line-height:1.3;letter-spacing:.08em}.axis-x{right:0;top:calc(100% - 20px)}.axis-y{left:60px;top:8px;background:var(--paper);padding:2px 6px;z-index:1}.ghost,.pt,.pt-label{--w: calc(var(--s) * var(--sc) * 100cqw / 872);--h: var(--w);position:absolute}.ghost{--w: calc(var(--s) * var(--gsc) * 100cqw / 872)}.ghost.half,.pt:has(.half){--h: calc(var(--w) / 2)}.ghost{width:var(--w);height:var(--h);left:calc(var(--x) * 100% - var(--w) / 2);top:calc(var(--y) * 100% - var(--h) / 2);background:var(--ghost)}.ghost.circle{border-radius:50%}.ghost.triangle{clip-path:var(--clip-triangle)}.ghost.diamond{clip-path:var(--clip-diamond)}.ghost.plus{clip-path:var(--clip-plus)}.ghost.half{border-radius:var(--w) var(--w) 0 0}.pt{--bw: max(var(--w), 44px);--bh: max(var(--h), 44px);width:var(--bw);height:var(--bh);left:calc(var(--x) * 100% - var(--bw) / 2 + var(--dx) * 1px);top:calc(var(--y) * 100% - var(--bh) / 2 + var(--dy) * 1px);display:grid;place-items:center;text-decoration:none;-webkit-tap-highlight-color:transparent}.pt .shape{width:var(--w);height:var(--h)}.plot-composite .pt .shape{mix-blend-mode:multiply}.pt:focus-visible{outline:2px solid var(--ink);outline-offset:0}.pt-chip{display:none}.pt-label{left:calc(var(--x) * 100% + var(--w) / 2 + 6px);top:calc(var(--y) * 100% + var(--w) / 4);font-family:var(--font-mono);font-size:11px;line-height:1.3;color:var(--muted);pointer-events:none}[data-off~=research] [data-cat=research],[data-off~=experience] [data-cat=experience],[data-off~=projects] [data-cat=projects],[data-off~=writing] [data-cat=writing],[data-off~=hobbies] [data-cat=hobbies],[data-off~=interests] [data-cat=interests]{display:none}.hover-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.hover-card{position:absolute;width:270px;background:var(--card);border:1.5px solid var(--ink);padding:14px 16px;display:flex;flex-direction:column;gap:8px;box-shadow:5px 5px 0 var(--card-ink, var(--ink));pointer-events:none;z-index:2}.hover-card[hidden],.hover-lines[hidden]{display:none}.hc-meta{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.hc-title{font-size:22px;font-weight:800;font-stretch:80%;text-transform:uppercase;line-height:1}.hc-org{margin-top:-4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--card-ink, var(--muted))}.hc-org[hidden]{display:none}.hc-blurb{font-size:14px;line-height:1.4}.hc-open{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;font-weight:500;text-transform:uppercase;color:var(--card-ink, var(--ink))}.plot-caption{display:none}@media(max-width:600px){.plot{aspect-ratio:358 / 340;max-width:none}.plot-frame{left:0;bottom:0}.tick,.axis-x,.axis-y,.gl{display:none}.plot-space .pt{--w: calc(10px + var(--s) * .6px)}.plot-space .ghost{--w: 9px;--h: 9px;border-radius:50%;clip-path:none}.plot-space .pt-label{display:none}.pt-chip{display:block;position:absolute;left:36px;top:12px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:10px;line-height:1.3;color:var(--ink);background:var(--paper);padding:1px 3px}.pt.chip-left .pt-chip{left:auto;right:36px}.hover-card,.hover-lines{display:none!important}.plot-caption{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;color:var(--muted)}}
