:root{--accent:#176c66;--panel:#f5f7f3;--panel-rgb:245,247,243;--section:#e7ede8;--hover:#dce6df;--menu:#f5f7f3;--map-land:#c9d7d1;--map-line:#b2c6bb}
:root[data-theme="dark"]{color-scheme:dark;--paper:#001820;--ink:#edf7f6;--muted:#a9bfc2;--line:#304a52;--accent:#4ee4d9;--panel:#001820;--panel-rgb:0,24,32;--section:#10272b;--hover:#17383e;--menu:#0b252c;--map-land:#18343c;--map-line:#274047}
.desktop-nav{margin-left:auto}
.theme-toggle{flex:none;border-color:transparent}
.theme-toggle .icon{--icon:url('/site/assets/theme-moon.svg');width:19px;height:19px}
[data-theme="dark"] .theme-toggle .icon{--icon:url('/site/assets/theme-sun.svg')}
.icon-button{border-color:var(--line)}
.desktop-nav a:hover{color:var(--accent)}
:focus-visible{outline-color:var(--accent)}
.action{background:var(--ink);color:var(--paper)}
.action .icon{color:var(--paper)}
.action:hover{background:var(--accent);color:var(--paper)}
.work,.work-slide,.work-copy{background:var(--panel);color:var(--ink);border-color:var(--line)}
.work-copy::after{background:linear-gradient(90deg,var(--panel) 0%,var(--panel) 68%,rgba(var(--panel-rgb),.94) 82%,rgba(var(--panel-rgb),.72) 94%,transparent 100%)}
.work-copy p{color:var(--muted)}
.work-copy .finding{color:var(--ink);border-color:var(--line)}
.work-copy .text-link,.work-copy a:focus-visible{color:var(--accent);outline-color:var(--accent)}
.work-positions button[aria-current="true"]{color:var(--ink);border-color:var(--accent)}
.work-positions button:hover{background:var(--hover)}
.method{background:var(--section);color:var(--ink)}
.method p{color:var(--muted)}
.method .method-lead{color:var(--ink)}
.method p a{color:var(--accent);text-decoration-color:currentColor}
.method p a:hover{color:var(--ink)}
.squares-toggle{background:var(--section);color:var(--ink);border-color:var(--line)}
.reach{background:var(--panel);color:var(--ink);border-color:var(--line)}
.reach-header p,.reach-topic,.reach-summary,.reach-note,.reach-map-caption{color:var(--muted)}
.reach-note{border-color:var(--line)}
.base-country{fill:var(--map-land);stroke:var(--panel)}
.graticule{stroke:var(--map-line)}
.research-country{stroke:var(--panel)}
@media(max-width:900px){.work-copy::after{background:linear-gradient(0deg,var(--panel) 0%,var(--panel) 78%,rgba(var(--panel-rgb),.9) 91%,transparent 100%)}}
@media(max-width:760px){.site-header{gap:4px}.brand{margin-right:auto}.brand img{width:180px}.theme-toggle{border:0}.mobile-nav{flex:none}}
@media(max-width:370px){.brand img{width:158px}.site-header{padding-inline:16px}}
