@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@300;400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');
:root{color-scheme:light;--bg:#faf8f5;--fg:#1e1108;--muted:#705f50;--accent:#8a6016;--line:#ded8cc}body.dark-mode{color-scheme:dark;--bg:#191710;--fg:#e8e0d5;--muted:#b2a492;--accent:#d4703a;--line:#39382c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.8 'Fira Sans',sans-serif}main{max-width:840px;margin:0 auto;padding:44px 28px 100px}nav{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;margin-bottom:64px}a{color:var(--accent);text-underline-offset:3px}button{font:inherit;background:none;color:var(--accent);border:1px solid var(--line);padding:7px 12px;cursor:pointer}h1{font-size:clamp(2.5rem,7vw,4rem);line-height:1.12;letter-spacing:-.04em;margin:0 0 20px}header{margin-bottom:48px}header p{color:var(--muted);font-size:15px}h2{font-size:1.9rem;line-height:1.3;margin:3rem 0 1rem}h3{font-size:1.3rem;line-height:1.4;margin:2.2rem 0 1rem}p{margin:1.2em 0}figure{margin:2.5rem 0}img{display:block;max-width:100%;height:auto;margin:auto}figcaption{font-size:17px;line-height:1.65;color:var(--muted);margin-top:14px}figcaption strong{font-weight:700;color:var(--fg)}figcaption em{font-style:normal}li{padding-left:.2rem;margin:.5rem 0}u{text-decoration:none}.interactive{margin:1.5rem 0 2.5rem;border:1px solid var(--line);padding:16px}.interactive summary{cursor:pointer;color:var(--accent);font-weight:500}.interactive p{font-size:14px}.interactive iframe{width:100%;height:720px;border:0;background:white}.contents{font-size:15px;margin:2rem 0}.contents summary{cursor:pointer;color:var(--accent)}:target{scroll-margin-top:24px}@media(max-width:600px){body{font-size:17px}main{padding:24px 20px 64px}nav{margin-bottom:44px}.interactive{padding:10px}.interactive iframe{height:640px}}
.interactive-figure > p{font-size:14px;margin:0 0 12px}.pr-viewer{display:block;width:100%;height:820px;border:1px solid var(--line);background:white}@media(max-width:600px){.pr-viewer{height:700px}}

.interactive-figure{width:calc(100vw - 48px);max-width:none;margin:3rem 0 3rem calc(50% - 50vw + 24px)}.interactive-figure figcaption{max-width:784px;margin:16px auto 0}.interactive-figure>p{text-align:right}.pr-viewer{height:1800px;overflow:hidden;background:var(--bg)}@media(max-width:600px){.interactive-figure{width:calc(100vw - 24px);margin-left:calc(50% - 50vw + 12px)}.pr-viewer{height:2400px}.interactive-figure figcaption{padding:0 8px}}

.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:var(--line);z-index:100}.reading-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}.reading-nav{position:fixed;top:18px;right:24px;z-index:90;font-size:14px}.reading-nav>button{background:var(--bg);box-shadow:0 2px 12px #0001}.reading-nav nav{display:block;position:absolute;right:0;top:100%;width:320px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 90px);overflow:auto;background:var(--bg);border:1px solid var(--line);box-shadow:0 8px 28px #0002;padding:14px;margin:0}.reading-nav nav[hidden]{display:none}.reading-nav a{display:block;text-decoration:none;padding:6px 9px;line-height:1.4;color:var(--muted);border-left:2px solid transparent}.reading-nav a:hover,.reading-nav a:focus-visible{color:var(--fg);background:color-mix(in srgb,var(--fg) 6%,transparent)}.reading-nav a[aria-current]{color:var(--accent);border-left-color:var(--accent)}.reading-nav .toc-subsection{padding-left:22px;font-size:13px}.reading-nav .toc-section{font-weight:500;margin-top:5px}main>nav{padding-right:90px}@media(max-width:600px){.reading-nav{top:16px;right:12px}main>nav{padding-right:88px;gap:10px}main>nav button{white-space:nowrap}main>nav a{max-width:115px;line-height:1.4}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

body{font-family:'Lora',Georgia,serif;line-height:1.85}h1{font-weight:600;letter-spacing:-.035em}h2,h3{font-weight:600}nav,.reading-nav,header>p,.interactive-figure>p{font-family:'Fira Sans',sans-serif}figcaption{font-family:'Lora',Georgia,serif}strong{font-weight:700}

body.dark-mode article figure>img{filter:invert(.92) hue-rotate(180deg)}
article li{margin:.2rem 0}article li>p{margin:0}article ol,article ul{margin:1rem 0;padding-left:1.6em}


.reading-controls{position:fixed;top:16px;right:24px;z-index:90;display:flex;align-items:center;gap:10px;font:14px/1.4 'Fira Sans',sans-serif}.reading-controls .reading-nav{position:relative;top:auto;right:auto;z-index:auto}.reading-controls #contents-toggle{height:40px}.theme-switch{display:flex;align-items:center;gap:9px;height:40px;padding:0 10px;background:var(--bg);border:1px solid var(--line);color:var(--muted);cursor:pointer}.switch-track{position:relative;display:block;width:34px;height:20px;background:var(--line);border-radius:20px}.switch-thumb{position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--bg);box-shadow:0 1px 3px #0003}.theme-switch[aria-checked=true] .switch-track{background:var(--accent)}.theme-switch[aria-checked=true] .switch-thumb{transform:translateX(14px)}.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}main>nav{padding-right:0}@media(max-width:600px){.reading-controls{right:12px;gap:6px;font-size:13px}.theme-switch{gap:6px;padding:0 8px}.reading-controls #contents-toggle{padding:7px 10px}main>nav a{max-width:105px}}@media(prefers-reduced-motion:no-preference){.switch-thumb{transition:transform .15s ease}}

main>nav>a{display:inline-flex;align-items:center;gap:8px;text-decoration:none}main>nav .site-mark{width:28px;height:28px;flex-shrink:0;margin:0;filter:none}@media(max-width:600px){main>nav>a{gap:5px;font-size:12px}main>nav .site-mark{width:22px;height:22px}}

#figure-12>img{filter:none}#figure-12>.ecosystem-dark{display:none}body.dark-mode #figure-12>img{filter:none}body.dark-mode #figure-12>.ecosystem-light{display:none}body.dark-mode #figure-12>.ecosystem-dark{display:block}

header .essay-author{font-family:'Lora',Georgia,serif;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:500;line-height:1.4;color:var(--fg);margin:24px 0 8px}header .essay-meta{font-size:15px;line-height:1.5;margin:0;color:var(--muted)}

/* Fade the floating buttons without fading the open contents panel. */
.reading-controls.is-idle .theme-switch,.reading-controls.is-idle #contents-toggle{opacity:.28}
@media(prefers-reduced-motion:no-preference){.reading-controls .theme-switch,.reading-controls #contents-toggle{transition:opacity .35s ease}}

#figure-1>img{filter:none}#figure-1>.ecology-dark{display:none}body.dark-mode #figure-1>img{filter:none}body.dark-mode #figure-1>.ecology-light{display:none}body.dark-mode #figure-1>.ecology-dark{display:block}

.controls-overview>img{filter:none}.controls-overview>.controls-dark{display:none}body.dark-mode .controls-overview>img{filter:none}body.dark-mode .controls-overview>.controls-light{display:none}body.dark-mode .controls-overview>.controls-dark{display:block}
