:root{--accent: #c0602c;--ink: #33302a;--index: #2b2822;--label: #665f52;--hero: #26231d;--diff-easy: #5b7038;--diff-moderate: #b07a2b;--diff-hard: #a3421c;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem}:root,[data-season=summer]{--paper: #f2e8ce;--line: #5b7038;--shade: #ddd0a6;--grid: #d9cba2;--water: #3f7c8a;--water-fill: #c6dadd;--forest: #56682f}[data-season=spring]{--paper: #eef2e0;--line: #567a34;--shade: #dfe1d9;--grid: #cfd9b0;--water: #4a99a8;--water-fill: #c8dee1;--forest: #4a6f2c}[data-season=autumn]{--paper: #f1e3c2;--line: #6e6a2f;--shade: #e5cf9b;--grid: #dcc38a;--water: #4a6e7a;--water-fill: #cad6da;--forest: #7a5c26}[data-season=winter]{--paper: #e9edee;--line: #4a6b78;--shade: #c3cdd0;--grid: #bcc6ca;--water: #426b86;--water-fill: #c4d1da;--forest: #3f5a4c}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-full-normal.7BpKI3vF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-full-normal.YHFkNujK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-full-normal.CFFu7zhK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/ibm-plex-mono-latin-700-normal.7sUh57Bg.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-700-normal.CNHXzs6v.woff) format("woff")}:root{--step--1: clamp(.72rem, .7rem + .12vw, .82rem);--step-0: clamp(.92rem, .88rem + .22vw, 1rem);--step-1: clamp(1.05rem, .98rem + .35vw, 1.22rem);--step-2: clamp(1.3rem, 1.1rem + .8vw, 1.7rem);--step-3: clamp(2.35rem, 1.5rem + 4vw, 4.8rem);--serif: "Fraunces Variable", ui-serif, Georgia, serif;--sans: "Inter Variable", ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--hairline: color-mix(in srgb, var(--ink) 22%, transparent);--card: color-mix(in srgb, var(--paper) 91%, transparent);--card-strong: color-mix(in srgb, var(--paper) 96%, white 4%);--shadow: color-mix(in srgb, var(--index) 18%, transparent);--shadow-strong: color-mix(in srgb, var(--index) 26%, transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;min-height:100vh;font-family:var(--sans);font-size:var(--step-0);line-height:1.55;color:var(--ink);background:var(--paper)}body::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}.skip{position:fixed;left:0;top:0;z-index:50;transform:translateY(-110%);padding:.65rem 1rem;border-radius:0 0 10px;background:var(--ink);color:var(--paper);font-weight:700}.skip:focus{transform:translateY(0)}.topo{position:fixed;inset:0;z-index:0;margin:0}.topo canvas{display:block;width:100%;height:100%;pointer-events:none}main{position:relative;z-index:2;max-width:760px;margin:0 auto;padding:9vh 24px 20vh}.rail{position:fixed;left:16px;top:50%;z-index:4;display:flex;flex-direction:column;gap:0;transform:translateY(-50%);padding:10px 12px;border:1px solid var(--hairline);border-radius:14px;background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 30px var(--shadow);max-height:calc(100vh - 32px);overflow-y:auto;scrollbar-width:thin}.rail-title{margin-bottom:6px;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.18em;color:var(--label);text-transform:uppercase}.rail a{position:relative;display:flex;align-items:center;gap:9px;padding:7px 6px;border-radius:8px;color:var(--ink);font-size:12px;font-weight:600;text-decoration:none}.rail a:after{content:"";position:absolute;left:11px;top:100%;width:2px;height:8px;background:var(--hairline)}.rail a:last-child:after{display:none}.rail .mk{width:13px;height:13px;flex:0 0 auto;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--hairline)}.rail a[data-diff=easy] .mk{border-radius:50%;background:var(--diff-easy)}.rail a[data-diff=moderate] .mk{border-radius:2px;background:var(--diff-moderate)}.rail a[data-diff=hard] .mk{transform:rotate(45deg);background:var(--diff-hard)}.rail a.active{background:color-mix(in srgb,var(--accent) 16%,transparent)}.rail a.active .lbl{color:var(--accent)}.rail a.hl{outline:2px solid var(--accent);outline-offset:-2px}.note{position:relative;margin-bottom:34px;padding:24px 26px 26px;border:1px solid var(--hairline);border-radius:17px;outline:2px solid transparent;background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 14px 36px var(--shadow);transition:transform .25s ease,box-shadow .25s ease,outline-color .2s ease}.masthead{min-height:78vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4.6rem) clamp(1.4rem,4vw,3.7rem);overflow:visible;border-radius:24px;background:repeating-linear-gradient(0deg,transparent 0 27px,color-mix(in srgb,var(--grid) 22%,transparent) 28px),repeating-linear-gradient(90deg,transparent 0 27px,color-mix(in srgb,var(--grid) 18%,transparent) 28px),var(--card-strong)}.note:nth-child(odd){transform:rotate(-.35deg)}.note:nth-child(2n){transform:rotate(.35deg)}.note:hover,.note.hl{transform:rotate(0) translateY(-4px);outline-color:var(--accent);box-shadow:0 22px 50px var(--shadow-strong)}.note:before{content:"";position:absolute;left:24px;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--hairline)}.note.in:before{box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--hairline),0 0 14px 3px color-mix(in srgb,var(--accent) 60%,transparent)}.stamp{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--label);text-transform:uppercase}.stamp .coord{margin-left:auto;opacity:.85;text-transform:none}h1,h2,h3,h4,p,ul,dl{margin-top:0}.note h1{max-width:11ch;margin-bottom:2px;color:var(--hero);font-family:var(--serif);font-size:var(--step-3);font-weight:600;font-optical-sizing:auto;line-height:.96;letter-spacing:-.02em}.note h2{margin-bottom:4px;font-family:var(--serif);font-size:var(--step-2);font-weight:600;font-optical-sizing:auto;line-height:1.15;letter-spacing:-.005em}.note h3{margin:14px 0 2px;font-size:1.02rem}.note h4{margin:0;font-size:.96rem}.loc,.sub,.role,.project-date{color:var(--label)}.sub{margin:.1rem 0 .7rem;font-weight:600}.lead,.summary{font-size:.99rem}.tagline{max-width:13ch;margin:1rem 0 .9rem;font-family:var(--serif);font-size:clamp(1.85rem,1.2rem + 3vw,3.4rem);font-weight:500;font-optical-sizing:auto;line-height:.99;letter-spacing:-.015em;color:var(--hero)}.marker-grid,.principle-list{display:grid;gap:.75rem;margin-top:1.25rem}.marker-card,.principle{position:relative;padding:.85rem .95rem;border:1px dashed var(--hairline);border-radius:13px;background:color-mix(in srgb,var(--paper) 66%,transparent)}.marker-card{overflow:hidden}.marker-card:after{content:"";position:absolute;inset:auto -18px -22px auto;width:70px;height:70px;border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-radius:50%;opacity:.5}.marker-card span,.field-note-kicker,.legend-title,.specimen-label,.field-note-grid dt{display:block;font-family:var(--mono);font-size:.66rem;font-weight:800;letter-spacing:.12em;color:var(--label);text-transform:uppercase}.marker-card span{margin-bottom:.25rem}.marker-card h2,.principle h3{margin-bottom:.35rem}.marker-card p,.principle p{margin-bottom:0;font-size:.86rem;line-height:1.42}.map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin-top:1rem;padding:.65rem .8rem;border:1px solid var(--hairline);border-radius:12px;background:color-mix(in srgb,var(--paper) 68%,transparent)}.legend-title{margin-right:.2rem}.meta,.contact-links,.project-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.9rem;font-family:var(--mono);font-size:.76rem}.meta a,.project-links a,.awards a{color:var(--label);text-decoration:none;border-bottom:1px solid var(--hairline)}.meta a:hover,.project-links a:hover,.awards a:hover{border-bottom-color:var(--label)}.org{margin-bottom:.7rem}.role{padding:11px 0;border-top:1px dashed var(--hairline)}.role:first-of-type{border-top:none}.role-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.role-head time{margin-left:auto;font-family:var(--mono);font-size:.74rem;color:var(--label)}.role ul{margin:.3rem 0 0;padding-left:1.05rem;color:var(--ink)}.role li{margin:.28rem 0;font-size:.92rem}.blaze{display:inline-flex;align-items:center;gap:.4rem;margin:.25rem 0;font-family:var(--mono);font-size:.72rem;color:var(--label);text-transform:lowercase}.blaze:before{content:"";width:.66rem;height:.66rem;flex:0 0 auto;background:var(--bz)}.blaze[data-diff=easy]{--bz: var(--diff-easy)}.blaze[data-diff=easy]:before{border-radius:50%}.blaze[data-diff=moderate]{--bz: var(--diff-moderate)}.blaze[data-diff=moderate]:before{border-radius:2px}.blaze[data-diff=hard]{--bz: var(--diff-hard)}.blaze[data-diff=hard]:before{width:.58rem;height:.58rem;transform:rotate(45deg)}.project-grid{display:grid;gap:1rem}.project{padding-top:.65rem;border-top:1px dashed var(--hairline)}.project:first-child{padding-top:0;border-top:0}.field-note{padding:1rem;border:1px solid var(--hairline);border-left:3px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:15px;background:color-mix(in srgb,var(--paper) 74%,transparent)}.project-head{display:flex;align-items:flex-start;gap:.8rem}.project-head h3{margin:0}.project-head .blaze{margin-left:auto;white-space:nowrap}.project-date{margin:.2rem 0 .6rem;font-family:var(--mono);font-size:.74rem}.project-summary{margin-bottom:.85rem}.route-diagram{display:grid;gap:.55rem;margin:0 0 .95rem;padding:0;list-style:none}.route-diagram li{position:relative;padding:.45rem .6rem;border:1px solid var(--hairline);border-radius:10px;background:color-mix(in srgb,var(--paper) 72%,transparent);font-family:var(--mono);font-size:.72rem;font-weight:700}.route-diagram li:not(:last-child):after{content:"↓";position:absolute;left:50%;bottom:-.78rem;z-index:1;transform:translate(-50%);color:var(--accent);font-size:.72rem}.field-note-grid{counter-reset:field-note-step;display:grid;gap:.7rem;margin-bottom:.9rem}.field-note-grid div{counter-increment:field-note-step;position:relative;min-height:100%;padding:.75rem .8rem .8rem;border:1px solid color-mix(in srgb,var(--hairline) 78%,transparent);border-radius:12px;background:color-mix(in srgb,var(--paper) 66%,transparent)}.field-note-grid div:before{content:"0" counter(field-note-step);position:absolute;right:.65rem;top:.55rem;font-family:var(--mono);font-size:.68rem;font-weight:800;color:color-mix(in srgb,var(--accent) 62%,transparent)}.field-note-grid dd{margin:.25rem 0 0;padding-right:1.25rem;font-size:.88rem;line-height:1.45}.skill-group{margin:.7rem 0}.skill-group h3{margin-bottom:.3rem;font-size:.9rem}.tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.tags li{padding:.22rem .55rem;border:1px solid var(--hairline);border-radius:999px;background:color-mix(in srgb,var(--paper) 55%,transparent);font-family:var(--mono);font-size:.72rem}.research-note{overflow:visible}.specimen-label{display:inline-block;margin-bottom:.55rem;padding:.22rem .45rem;border:1px solid var(--hairline);border-radius:6px;background:color-mix(in srgb,var(--paper) 76%,transparent)}.awards{margin:0;padding:0;list-style:none}.awards li{padding:.5rem 0;border-bottom:1px dashed var(--hairline);font-size:.92rem}.awards li:last-child{border-bottom:none}.contact-links a{padding:.5rem .85rem;border:1px solid var(--label);border-radius:9px;color:var(--label);font-size:.86rem;font-weight:600;text-decoration:none}.contact-links a:hover{background:var(--label);color:var(--paper)}.rail-links{display:flex;flex-direction:column}.controls{display:grid;gap:.45rem}.rail-controls{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--hairline)}.control-field{display:grid;gap:.25rem}.controls .lab{font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.14em;color:var(--label);text-transform:uppercase}.controls button,.controls select{width:100%;padding:.42rem .65rem;border:1px solid var(--hairline);border-radius:8px;background:var(--paper);color:var(--ink);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.controls button.off{opacity:.55}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.rail a[aria-disabled=true]{display:none}@media(min-width:720px){.marker-grid,.principle-list,.field-note-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.route-diagram{grid-template-columns:repeat(4,minmax(0,1fr))}.route-diagram li:not(:last-child):after{content:"→";left:auto;right:-.55rem;bottom:50%;transform:translateY(50%)}.masthead .lead,.masthead p:not(.sub):not(.tagline):not(.meta){max-width:66ch}}@media(max-width:900px){.rail{inset:auto 12px 12px;transform:none;padding:8px}.rail-title,.rail-links{display:none}.rail-controls{grid-template-columns:minmax(120px,1fr) 1fr 1fr;align-items:end;margin-top:0;padding-top:0;border-top:0}}@media(max-width:640px){main{padding:6vh 12px 9.5rem}.note{margin-bottom:22px;padding:20px 16px 18px;border-radius:15px;transform:none!important}.masthead{min-height:auto;padding-block:2rem;border-radius:18px}.note h1{max-width:none;font-size:clamp(2.2rem,14vw,3.6rem)}.tagline{max-width:11ch;font-size:clamp(1.9rem,10vw,2.65rem)}.stamp{display:block;margin-bottom:.8rem;line-height:1.35}.stamp .coord{display:block;margin-left:0}.marker-grid,.principle-list,.field-note-grid{gap:.6rem}.marker-card,.principle,.field-note{padding:.8rem}.project-head{display:block}.project-head .blaze{margin-left:0}.map-legend{display:grid;gap:.25rem;align-items:start}.rail{bottom:8px;padding:6px}.rail-controls{grid-template-columns:1fr 1fr;gap:.35rem}.control-field{grid-column:1 / -1}.controls button,.controls select{padding:.38rem .5rem;font-size:.72rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.note,.note:hover{transition:none;transform:none}}
