.tl--pub{grid-template-columns:5.1rem 1fr auto}.tl--pub>.btns--icon{grid-column:3;justify-content:flex-end;align-self:start;gap:.3rem;width:4.95rem;margin:0}@media (width<=34rem){.tl--pub{grid-template-columns:5.1rem 1fr}.tl--pub>.btns--icon{flex-direction:row;grid-column:2;margin-top:.3rem}}.cvsection{font-family:var(--serif);color:var(--ink);border-bottom:1px solid var(--rule);margin:1.6rem 0 .3rem;padding-bottom:.3rem;font-size:1.05rem;font-weight:500}.cvsection:first-of-type{margin-top:1rem}.lenmore{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;white-space:nowrap;font-size:.66rem;display:none}#lenmore:checked~.h2row .lenmore{color:var(--accent)}#lenmore:focus-visible~.h2row .lenmore{outline:2px solid var(--accent);outline-offset:2px}@media (width<=44rem){.lenmore{display:inline}.h2row:has(.cvlengths){flex-wrap:wrap;justify-content:flex-start;gap:.4rem .5rem}.h2row .more:has(.cvlengths){display:contents}.h2row:has(.cvlengths) .ttlgroup{margin-right:auto}.h2row:has(.cvlengths) .sep{margin:0}.h2row .cvlengths{display:none}#lenmore:checked~.h2row .cvlengths{order:9;width:100%;display:inline-grid}}.gutterlinks{flex-wrap:wrap;gap:.3rem;display:flex}.homelink{width:1.2rem;height:1.2rem;color:var(--ink-faint);border:1px solid var(--rule);border-radius:.25rem;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.homelink .ico{fill:currentColor;width:.6875rem;height:.6875rem;display:block}.homelink:hover{color:var(--ground);background:var(--ink);border-color:var(--ink)}.cvsection{scroll-margin-top:calc(var(--nav-h) + var(--cvbar-h) + var(--toc-h) + .75rem)}.cvsec--last{--cv-tail:7rem;min-height:calc(100vh - var(--nav-h) - var(--cvbar-h) - var(--cv-tail));min-height:calc(100svh - var(--nav-h) - var(--cvbar-h) - var(--cv-tail))}.tl .recipient{color:var(--ink-mute);font-style:italic}.tl--unpub .when{font-style:italic}.cvsechead{border-bottom:1px solid var(--rule);justify-content:flex-start;align-items:center;gap:1rem;margin:1.6rem 0 .3rem;padding-bottom:.3rem;display:flex}.cvsec--first .cvsechead{margin-top:1rem}summary.cvsechead{cursor:pointer;list-style:none}summary.cvsechead::-webkit-details-marker{display:none}summary.cvsechead .cvsection:after{content:"›";color:var(--ink-faint);margin-left:.5rem;font-weight:400;transition:transform .15s;display:inline-block}details[open]>summary.cvsechead .cvsection:after{transform:rotate(90deg)}summary.cvsechead:hover .cvsection{color:var(--accent)}.seclink{color:var(--ink-faint);margin-left:.5rem;transition:color .15s}.seclink:hover{color:var(--accent);text-decoration:none}.seclink .ico{fill:currentColor;vertical-align:-1px;width:.75rem;height:.75rem;display:inline-block}.cvsechead .cvsection{border:0;margin:0;padding:0}.cvtoggle{isolation:isolate;background:var(--sunk);border-radius:999px;flex:none;grid-auto-columns:1fr;grid-auto-flow:column;align-items:center;padding:2px;display:inline-grid;position:relative}.cvtoggle:before{content:"";z-index:-1;width:calc((100% - 4px) / var(--stops,1));background:var(--ground);transform:translateX(calc(var(--i,0) * 100%));border-radius:999px;transition:transform .18s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 1px 2px #0000001f}@media (prefers-reduced-motion:reduce){.cvtoggle:before{transition:none}}.cvtoggle a{text-align:center;white-space:nowrap;font-family:var(--mono);letter-spacing:0;text-transform:uppercase;color:var(--ink-mute);border-radius:999px;padding:.1rem .35rem;font-size:.64rem;line-height:1.4;transition:color .18s}.cvtoggle.is-dragging:before{transition:none}.cvtoggle:has(a){touch-action:pan-y;user-select:none}.cvtoggle a:hover{color:var(--ink);text-decoration:none}.cvtoggle a.on{color:var(--ink)}.cvbar{top:var(--nav-h);z-index:9;background:color-mix(in srgb, var(--ground) 92%, transparent);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:transform .18s,opacity .18s;position:fixed;left:0;right:0;transform:translateY(-110%)}.cvbar.is-on{opacity:1;pointer-events:auto;transform:none}.cvbar .wrap{height:var(--cvbar-h);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding-block:0;display:flex}.cvbar .cvtoggle--main a{font-size:.6rem}.cvbar .wrap>*,.cvbar .cvtoggle a{white-space:nowrap}@media (width<=34rem){.cvbar .wrap{gap:.5rem}.dl{display:none}}@media (prefers-reduced-motion:reduce){.cvbar{transition:opacity .18s}}.cvbar .spacer{flex:1}.srclink{display:none}@media (width>=56rem){.srclink{font-family:var(--mono);color:var(--ink-faint);opacity:.4;font-size:.68rem;line-height:1;transition:opacity .15s,color .15s;display:block}.tl>.srclink{margin-left:1.5rem;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.card>.srclink{position:absolute;top:.7rem;right:.7rem}.srclink:hover,.srclink:focus-visible{opacity:1;color:var(--accent);text-decoration:none}}.plainlist{margin:.1rem 0 0;padding:0 0 0 1.1rem;list-style:outside}.plainlist li{color:var(--ink-2);margin:.15rem 0;font-size:.95rem;line-height:1.55}.plainlist li::marker{color:var(--ink-faint)}.cvtoggle:has(>button){background:0 0;padding:0}.cvtoggle:has(>button):before,.cvmini,.cvminibtn{display:none}@media (width>=78rem){.cvsechead{position:relative}.cvminibtn,.cvmini-shut{cursor:pointer;color:var(--ink-faint);opacity:.4;background:0 0;border:0;padding:.15rem;line-height:0;transition:opacity .15s,color .15s;display:block}.cvminibtn{margin-left:1.7rem;position:absolute;top:50%;left:100%;transform:translate(-50%,-50%)}.cvminibtn:hover,.cvminibtn:focus-visible,.cvmini-shut:hover,.cvmini-shut:focus-visible{opacity:1;color:var(--accent)}.cvminibtn .ico,.cvmini-shut .ico{fill:currentColor;width:.9375rem;height:.9375rem;display:block}.cvminibtn[aria-expanded=true],.cvmini-shut{opacity:1;color:var(--accent)}.cvsec--hasmap,.cvtalks{position:relative}.cvmini{pointer-events:none;width:11rem;height:100%;margin-left:3.5rem;display:block;position:absolute;top:0;left:100%}.cvmini[hidden]{display:none}.cvmini-stick{pointer-events:auto;position:sticky;top:6.5rem}.cvmini-svg{background:var(--sunk);border:1px solid var(--rule);border-radius:6px;width:100%;height:auto;display:block}.cvmini-land{fill:var(--ink-faint);fill-opacity:.32;stroke:none}.cvmini-lakes{fill:color-mix(in srgb, var(--sea) 6%, var(--sunk));stroke:none}.cvmini-trail{fill:none;stroke:var(--ink-mute);stroke-width:2.6px;stroke-dasharray:7 7;stroke-linecap:round;opacity:.22;transition:opacity .15s}.cvmini[data-only] .cvmini-trail{opacity:.85;stroke:var(--accent)}@media (prefers-reduced-motion:reduce){.cvmini-trail{transition:none}}.cvmini-svg circle{fill:var(--ink-mute);fill-opacity:.55}.cvmini-svg circle.is-shared{fill:var(--accent);fill-opacity:.9}.cvmini-svg circle.is-talk{fill:var(--accent);fill-opacity:.55}.cvmini-svg circle{cursor:pointer;stroke:#0000;stroke-width:30px}.cvmini-top{justify-content:space-between;align-items:center;gap:.4rem;margin:0 0 .4rem;display:flex}.cvmini-more{color:var(--ink-faint);text-align:right;font-size:.7rem;line-height:1.35}.cvmini-more:hover,.cvmini-more:focus-visible{color:var(--accent)}.cvmini-who{width:100%;font-family:var(--mono);letter-spacing:.02em;color:var(--ink-2);background:var(--ground);border:1px solid var(--rule);border-radius:4px;margin:.4rem 0 0;padding:.2rem .3rem;font-size:.62rem;display:block}.cvmini-who:hover{border-color:var(--rule-strong)}.cvmini-who:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cvmini-note{color:var(--ink-faint);margin:.3rem 0 0;font-size:.62rem;line-height:1.35}}.tl.is-lit,.card.is-lit{--lit:oklch(62% .15 152);background:color-mix(in srgb, var(--lit) 11%, transparent);box-shadow:0 0 0 7px color-mix(in srgb, var(--lit) 11%, transparent);border-radius:12px;transition:background .15s,box-shadow .15s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tl.is-lit,:root:not([data-theme=light]) .card.is-lit{--lit:oklch(74% .15 152);background:color-mix(in srgb, var(--lit) 14%, transparent);box-shadow:0 0 0 7px color-mix(in srgb, var(--lit) 14%, transparent)}}:root[data-theme=dark] .tl.is-lit,:root[data-theme=dark] .card.is-lit{--lit:oklch(74% .15 152);background:color-mix(in srgb, var(--lit) 14%, transparent);box-shadow:0 0 0 7px color-mix(in srgb, var(--lit) 14%, transparent)}@media (prefers-reduced-motion:reduce){.tl.is-lit,.card.is-lit{transition:none}}
