:root{color:#263d31;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f4eedb;--ink:#263d31;--edge:#4c6342;background:#213b2f;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}*{box-sizing:border-box}body{min-width:280px;margin:0}:where(a,button,select,summary){touch-action:manipulation}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,nav:focus-visible{outline-offset:4px;outline:3px solid #b66a32}button{min-width:44px;min-height:44px}.site-shell{flex-direction:column;min-height:100svh;display:flex}.skip-link{background:var(--paper);z-index:10;padding:16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar{z-index:1;background:var(--paper);border-bottom:4px solid var(--edge);justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,4vw,56px);display:flex;position:relative;box-shadow:0 4px #213b2f66}.identity{flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.identity-mark{border:2px solid var(--edge);color:#826331;background:#dfe6c7;place-items:center;width:36px;height:40px;display:grid}.identity strong{font-size:16px;display:block}.identity small{letter-spacing:.06em;margin-top:3px;font-size:11px;display:block}nav{flex-wrap:wrap;align-items:center;gap:4px;display:flex}nav button,.github-link{background:0 0;border:0;padding:10px 12px;font-size:13px;font-weight:700;text-decoration:none}nav button:hover,.github-link:hover{background:#dfe6c7}.github-link{border-left:1px solid #b1b69b;align-items:center;gap:7px;min-height:44px;margin-left:8px;display:inline-flex}.world-stage{isolation:isolate;background:#78b84b;flex:1;height:auto;min-height:320px;position:relative;overflow:hidden}.game-canvas{z-index:0;position:absolute;inset:0}.game-canvas canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}.world-caption{border:2px solid var(--edge);background:var(--paper);max-width:440px;padding:22px 24px;position:absolute;bottom:28px;left:clamp(16px,4vw,56px);box-shadow:4px 4px #213b2f99}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#59663f;margin:0 0 12px;font-size:10px;font-weight:700}h1{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(25px,3vw,36px);font-weight:400;line-height:1.1}.world-caption>p:not(.eyebrow){font-size:12px;line-height:1.6}.world-status{max-width:37ch}.primary-button{color:#fff8de;background:#314c38;border:2px solid #263d31;justify-content:space-between;align-items:center;gap:32px;margin-top:16px;padding:10px 14px;font-size:12px;display:flex;box-shadow:2px 2px #a7ad87}.primary-button:hover{background:#425f41}.scene-label{color:#f4eedb;background:#203c2ee8;border:1px solid #a3b475;margin:0;padding:8px 12px;font-size:10px;position:absolute;top:18px;right:24px}.site-footer{color:#ede8d1;background:#213b2f;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;padding:14px clamp(16px,4vw,56px);font-size:10px;line-height:1.7;display:flex}.rpg-window{width:min(560px,100% - 32px);max-height:calc(100dvh - 32px);color:var(--ink);background:var(--paper);border:3px solid #283e30;padding:0;overflow:hidden;box-shadow:6px 6px #15281fcc}.rpg-window[open]{flex-direction:column;display:flex}.rpg-window::backdrop{background:#172b22b3}.window-titlebar{border-bottom:2px solid var(--edge);background:#dce1c1;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px 10px 20px;display:flex}.window-titlebar h2{margin:0;font-size:15px;line-height:1.5}.close-button{border:1px solid var(--edge);background:var(--paper);min-width:44px;color:var(--ink);font-size:26px}.close-button:hover{background:#e8dbb4}.window-content{padding:28px;font-size:14px;line-height:1.8;overflow-y:auto}.window-content p{margin-top:0}.window-footer{border-top:1px solid #b1b69b;flex-shrink:0;justify-content:space-between;padding:12px 20px;font-size:10px;display:flex}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 16px}nav{gap:2px;width:100%}nav button,.github-link{padding:8px;font-size:12px}.github-link{margin-left:0}.world-caption{max-width:390px;padding:18px;bottom:24px;left:16px;right:16px}.scene-label{top:14px;right:16px}}@media (height<=600px) and (width>=821px){.world-caption{padding:16px;bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.game-canvas{z-index:0;outline-offset:-4px}.game-canvas:focus-visible{outline:3px solid #ffe3a1}.world-caption,.scene-label,.world-hud{z-index:1}.world-caption{max-width:365px;bottom:112px}.scene-label{pointer-events:none}.world-hud{pointer-events:none;position:absolute;bottom:14px;left:clamp(16px,4vw,56px);right:16px}.world-hud p{color:#f4eedb;background:#203c2ef0;width:fit-content;max-width:100%;margin:4px 0;padding:6px 10px;font-size:10px;line-height:1.6}.world-hud .world-status{max-width:75ch}.interaction-button{pointer-events:auto;background:var(--paper);color:var(--ink);border:2px solid #304830;margin-top:6px;padding:8px 12px;font-size:12px;box-shadow:2px 2px #213b2f99}button:disabled{cursor:wait;opacity:.65}.storage-note{margin-top:16px}code{overflow-wrap:anywhere;background:#e7e8cf;border:1px solid #a7ad87;padding:3px 6px}@media (width<=820px){.world-caption{max-width:350px;bottom:140px}.world-hud{left:16px}}.site-shell{height:100dvh;min-height:100svh}.topbar,.site-footer{flex-shrink:0}.world-stage{height:auto;min-height:min(320px,50svh)}@media (height<=700px){.world-caption{max-height:calc(100% - 112px);padding:14px 18px;top:18px;bottom:auto;overflow:auto}.world-hud .world-status{display:none}}.identity h1{margin:0;font:700 16px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.welcome-title{margin:0 0 12px;font-family:Georgia,serif;font-size:clamp(25px,3vw,36px);font-weight:400;line-height:1.1}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.rpg-window-wide{width:min(840px,100% - 32px)}.window-content{overflow-wrap:anywhere;overscroll-behavior:contain;min-height:0}.window-content h3{margin:0 0 12px;font-size:17px;line-height:1.4}.window-content h4{margin:0 0 10px;font-size:14px;line-height:1.6}.window-content ul{padding-left:22px}.window-content li+li{margin-top:6px}.window-content a{color:#29472f;text-decoration-thickness:1px}.window-content a:hover{text-decoration-thickness:2px}.window-content:focus-visible,summary:focus-visible{outline-offset:-3px;outline:3px solid #b66a32}.about-introduction{font-family:Georgia,serif;font-size:20px;line-height:1.7}.contact-area{border-top:1px solid #b1b69b;margin-top:24px;padding-top:20px}.contact-links{flex-wrap:wrap;gap:4px 16px;display:flex}.contact-links a{align-items:center;gap:6px;min-height:44px;font-size:12px;display:inline-flex}.education-timeline{border-left:2px solid #9da67f;margin:0;padding:0 0 0 22px;list-style:none}.education-timeline>li{padding-bottom:26px;position:relative}.education-timeline>li:before{content:"";border:2px solid var(--paper);background:#596c43;width:10px;height:10px;position:absolute;top:6px;left:-28px}.education-timeline>li:last-child{padding-bottom:0}.entry-period,.project-year{color:#5a603f;font-size:11px}.entry-period{margin-bottom:8px}.degree{margin-bottom:6px;font-weight:700}.entry-location{color:#5a603f;font-size:12px}.coursework-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;font-size:12px;display:grid}.coursework-list li+li{margin-top:0}.secondary-shelf{border-top:2px solid #b1b69b;margin-top:28px;padding-top:22px}.experience-card{background:#e9e7d1;border-left:3px solid #9da67f;padding:18px}.experience-card ul{margin-bottom:0;font-size:12px}.project-grid,.contribution-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.project-grid{margin-top:20px}.project-card{background:#faf6e9;border:1px solid #b1b69b;flex-direction:column;min-width:0;padding:20px;display:flex}.project-card h3{margin-bottom:12px;font-family:Georgia,serif;font-size:23px;font-weight:400}.project-card p{font-size:12px;line-height:1.75}.project-card .project-summary{font-size:14px}.project-card-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.project-card:not(.project-card-featured) .project-year{margin-left:auto}.project-card-featured{border:2px solid #63754a;padding:24px;box-shadow:3px 3px #bec4a0}.project-card-featured h3{font-size:36px}.project-card .featured-badge{text-transform:uppercase;letter-spacing:.1em;color:#485e32;margin:0;font-size:10px;font-weight:700}.window-content .tech-list{flex-wrap:wrap;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.window-content .tech-list li{background:#e7ebd8;border:1px solid #b7bda0;margin:0;padding:3px 8px;font-size:10px;line-height:1.7}.publication{background:#eae6cc;border-left:3px solid #a58a40;margin:4px 0 20px;padding:18px}.publication .eyebrow{font-size:10px}.publication p:last-child{margin-bottom:0}.publication-venue{color:#525936}.project-links{flex-wrap:wrap;gap:6px 18px;margin-top:auto;display:flex}.project-links a{align-items:center;gap:6px;min-height:44px;font-size:12px;display:inline-flex}.contribution-grid article{background:#e9e7d1;padding:18px}.contribution-grid article>p:last-child{margin-bottom:0;font-size:12px}.window-content .interests-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;margin-bottom:26px;list-style-type:square;display:grid}.window-content .interests-list li{margin:0;font-size:13px}.toolkit-section{border-top:1px solid #b1b69b;padding-top:22px}.toolkit-expander{background:#eeecd8;border:1px solid #b1b69b;padding:0 16px}.toolkit-expander summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:13px;font-weight:700}.toolkit-expander[open] summary{border-bottom:1px solid #b1b69b;margin-bottom:14px}.window-content .awards-list{margin-bottom:0;padding:0;list-style:none}.awards-list li{border-bottom:1px solid #d3d2b8;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:12px 0;display:grid}.award-year{color:#626947;font-size:12px}.awards-list strong{font-size:12px;line-height:1.6;display:block}.award-result{color:#5a603f;font-size:12px;display:block}@media (width<=600px){.window-content{padding:20px 16px;font-size:13px}.window-titlebar{gap:8px;padding-left:14px}.window-titlebar h2{font-size:13px}.project-grid,.contribution-grid,.coursework-list,.window-content .interests-list{grid-template-columns:minmax(0,1fr)}.project-card,.project-card-featured{padding:16px}.project-card-featured h3{font-size:30px}.publication{padding:14px}.about-introduction{font-size:18px}.education-timeline{padding-left:18px}.education-timeline>li:before{left:-24px}}.animal-dock{z-index:2;pointer-events:none;flex-direction:column;align-items:flex-end;max-width:calc(100% - 32px);display:flex;position:absolute;top:60px;bottom:16px;right:24px}.animal-toggle,.animal-panel{pointer-events:auto;color:var(--ink);background:var(--paper);border:2px solid var(--edge);box-shadow:3px 3px #213b2f88}.animal-toggle{flex-shrink:0;padding:8px 14px;font-size:12px}.animal-panel{overscroll-behavior:contain;width:min(296px,100vw - 32px);min-height:0;margin-top:8px;padding:14px;font-size:12px;overflow-y:auto}.animal-panel-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.animal-panel-title h2{margin:0;font-size:14px}.animal-panel-title button{border:1px solid var(--edge);min-width:44px;color:var(--ink);background:#e7e8cf;font-size:22px}.animal-chooser{gap:8px;margin:14px 0 10px;font-size:11px;display:grid}.animal-chooser select{border:1px solid var(--edge);min-height:44px;font:inherit;color:var(--ink);background:#fff9e9;width:100%;padding:8px;font-size:14px}select:focus-visible{outline-offset:2px;outline:3px solid #b66a32}.animal-action{text-align:left;width:100%;min-height:44px;color:var(--ink);background:#e7ebd8;border:1px solid #899472;margin:8px 0;padding:10px;display:block}.animal-action[aria-pressed=true]{border:2px solid var(--edge);background:#d3dfb8}.animal-panel button[aria-disabled=true]{opacity:.65}.animal-foods{border:0;flex-wrap:wrap;gap:8px;margin:14px 0 4px;padding:6px 0 10px;display:flex}.animal-foods legend{margin-bottom:6px;font-size:10px}.animal-foods button{color:var(--ink);background:#fff9e9;border:1px solid #899472;align-items:center;gap:6px;padding:6px 8px;font-size:11px;display:flex}.animal-foods img{image-rendering:pixelated;width:32px;height:32px}.animal-state{line-height:1.6}.animal-feedback{border-top:1px solid #b1b69b;padding-top:12px;line-height:1.6}.animal-small{color:#59663f;font-size:10px;line-height:1.6}.animal-follow-hint{max-width:230px;color:var(--paper);background:#203c2ef0;padding:8px 10px;font-size:10px;line-height:1.6}@media (width<=820px){.animal-dock{right:16px}}.mine-return{z-index:2;background:var(--paper);min-height:44px;color:var(--ink);border:2px solid #304830;padding:8px 14px;position:absolute;top:16px;left:16px;box-shadow:3px 3px #21182099}.mine-bubble{z-index:2;background:var(--paper);max-width:min(38ch,100% - 32px);color:var(--ink);pointer-events:none;border:2px solid #66506a;align-items:center;gap:10px;padding:12px 16px;font-size:12px;line-height:1.6;display:flex;position:absolute;top:76px;left:16px;box-shadow:3px 3px #21182099}.mine-bubble img{image-rendering:pixelated;flex:none}@media (width<=480px){.mine-return{top:52px}.mine-bubble{top:108px}}.site-footer{align-items:center;padding-top:6px;padding-bottom:6px}.asset-credit{align-items:center;max-width:100%;min-height:44px;display:inline-flex}.animal-chooser select{font-size:16px}.window-titlebar{min-height:64px}.close-button{flex-shrink:0}@media (height<=500px){.site-footer{gap:0 16px;padding-top:0;padding-bottom:0}.window-titlebar{min-height:56px;padding-top:4px;padding-bottom:4px}.window-footer{padding-top:6px;padding-bottom:6px}.window-content{padding-top:14px;padding-bottom:14px}.world-caption{max-height:calc(100% - 76px);padding:12px;top:8px}.world-caption>p{display:none}.welcome-title{margin-bottom:6px;font-size:22px}.world-caption .primary-button{margin-top:6px}.animal-dock{top:8px;bottom:8px}.scene-label{display:none}.world-hud{bottom:6px}.mine-return{top:8px}.mine-bubble{top:60px}}@media (width<=360px){.topbar{padding-left:10px;padding-right:10px}nav button,.github-link{padding-left:7px;padding-right:7px}}:is(.journal-prose,.window-content) .frog-list{padding-left:0;list-style:none}:is(.journal-prose,.window-content) .frog-list>li{align-items:flex-start;gap:8px;padding:0;display:flex}:is(.journal-prose,.window-content) .frog-list>li>.animal-logo{flex:0 0 11px;width:11px;height:9px;margin-top:calc(.5lh - 4.5px)}:is(.journal-prose,.window-content) .frog-list>li>span{min-width:0}:root{--gutter:clamp(20px, 5vw, 72px);--paper:#f7f6ef;--ink:#293a30;--edge:#c7ccbd;background:var(--paper);color:var(--ink);font-family:Segoe UI,Arial,sans-serif}html{scroll-behavior:smooth;overscroll-behavior-y:none;scrollbar-color:#76826c var(--paper);scroll-padding-top:110px}html:has(.forest-footer canvas){background-color:#79bf56}body{background:var(--paper)}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{font-family:inherit}:where(h1,h2)[tabindex="-1"]:focus{outline:none}.journal-site{overflow-x:clip}.journal-header{z-index:20;max-width:1424px;padding:24px var(--gutter);border-bottom:1px solid #d8dccf;grid-template-columns:auto 1fr;align-items:center;gap:24px;margin:0 auto;display:grid;position:relative}.journal-identity{letter-spacing:-.4px;align-items:center;gap:12px;font:600 14px/1.6 ui-monospace,monospace;text-decoration:none;display:flex}.animal-logo{width:22px;height:18px;image-rendering:pixelated;vertical-align:middle;flex-shrink:0;display:inline-block}.animal-logo-large{width:44px;height:36px}.identity-sub{color:#75806e;letter-spacing:.01em;font:10px/1.7 ui-monospace,monospace;display:block}.journal-header nav{justify-content:flex-end;gap:24px;width:auto}.journal-header nav>a{min-height:44px;color:var(--ink);align-items:center;font:12px/1.5 ui-monospace,monospace;text-decoration:none;display:inline-flex}.journal-header nav>a:hover{text-underline-offset:7px;text-decoration:underline}.journal-main{width:calc(100% - var(--gutter) * 2);max-width:1280px;margin:0 auto}.journal-main:focus{outline:none}.journal-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:76px 0 80px;display:grid}.section-kicker{color:#6b785f;text-transform:uppercase;letter-spacing:.13em;margin:0 0 25px;font:10px/1.8 ui-monospace,monospace}.section-kicker:has(.animal-logo){align-items:center;gap:12px;display:flex}.hero-writing h1{color:#293a30;letter-spacing:-.055em;margin:0 0 30px;font:clamp(48px,5.8vw,82px)/1.08 Georgia,Times New Roman,serif}.hero-writing h1 em{color:#697b5c;font-weight:400}.hero-writing h1 .hero-alias{letter-spacing:-.015em;margin-top:12px;font-size:clamp(16px,1.8vw,24px);line-height:1.4;display:block}.hero-introduction{color:#5d665a;max-width:48ch;margin:0 0 18px;font-size:16px;line-height:1.95}.journal-site .contact-links{gap:20px;width:auto;margin:0}.journal-site .contact-links a{min-height:44px;font:11px/1.5 ui-monospace,monospace}.journal-site .contact-links a:last-child{color:#68775e}.reading-link{border-bottom:1px solid #b3bf9f;align-items:center;gap:30px;min-height:44px;margin-top:30px;font:11px/1.5 ui-monospace,monospace;text-decoration:none;display:inline-flex}.reading-link span{color:#63784e}.journal-divider{color:#7b8370;text-transform:uppercase;letter-spacing:.12em;border-block:1px solid #d0d6c7;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:17px 0;font:9px/1.7 ui-monospace,monospace;display:grid}.journal-divider>span:last-child{justify-self:end}.journal-section{grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:90px;padding:110px 0 20px;scroll-margin-top:30px;display:grid}.journal-section:has(.island-figure){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.journal-copy{min-width:0}.journal-copy>h2,.interlude-writing h2,.journal-signoff h2{letter-spacing:-.035em;margin:0 0 38px;font:clamp(32px,3.7vw,49px)/1.16 Georgia,serif}.journal-aside{align-self:start;min-width:0;padding-top:35px;position:sticky;top:35px}.journal-prose{color:#566250;font-size:16px;line-height:1.85}.journal-prose h3{color:#293a30}.journal-prose h4{color:#394a34;font-size:14px}.journal-prose>p{max-width:65ch}.journal-prose>.eyebrow{display:none}.journal-prose .project-card{border:0;box-shadow:none;background:0 0;border-top:1px solid #d0d6c7;padding:24px 0}.journal-prose .project-card-featured{border-top:0;border-bottom:0;padding-top:0}.journal-prose .project-card h3{letter-spacing:-.025em;margin:0 0 18px;font:27px/1.2 Georgia,serif}.journal-prose .project-card-featured h3{font-size:52px}.journal-prose .project-card p{font-size:14px;line-height:1.85}.journal-prose .project-card-featured .project-summary{color:#52634a;font:22px/1.6 Georgia,serif}.journal-prose .featured-badge{font:9px/1.6 ui-monospace,monospace}.project-demo-label{color:#88977a;letter-spacing:.04em;align-self:flex-start;margin:0 0 18px;font:10px/1.8 ui-monospace,monospace;display:inline-block}.journal-prose .project-year{font:10px/1.6 ui-monospace,monospace}.journal-prose .project-grid{gap:0 30px;margin-top:20px}.journal-prose .tech-list{flex-wrap:wrap;gap:6px 12px;margin:14px 0 20px;padding:0;list-style:none;display:flex}.journal-prose .tech-list li{color:#718060;background:0 0;border:0;margin:0;padding:2px 0;font:10px/1.7 ui-monospace,monospace}.journal-prose .tech-list li+li:before{content:"/";color:#bdc5b1;padding-right:12px}.journal-prose .publication{background:#eaf0e0;border-left:2px solid #83996b;margin:18px 0 12px;padding:20px 24px}.journal-prose .publication h4{font:600 15px/1.7 Segoe UI,sans-serif}.journal-prose .publication p{font-size:12px}.journal-prose .publication .eyebrow{margin-bottom:8px}.journal-prose .project-links{gap:20px}.journal-prose .project-links a{font:10px/1.6 ui-monospace,monospace}.journal-prose .secondary-shelf{border-top:1px solid #cdd5c1;margin-top:40px;padding-top:25px}.journal-prose .secondary-shelf h3{margin:0 0 20px;font:25px/1.4 Georgia,serif}.journal-prose .contribution-grid article{background:0 0;padding:12px 0}.journal-prose .contribution-grid h4{margin-top:0}.journal-prose .education-timeline{--timeline-indent:24px;padding-left:var(--timeline-indent)}.journal-prose .education-timeline>li:before{left:calc(-1 * var(--timeline-indent) - 1px);transform:translate(-50%)}.journal-prose .education-timeline h3{margin:8px 0 14px;font:26px/1.4 Georgia,serif}.journal-prose .education-timeline>li{padding-bottom:30px}.journal-prose .education-timeline>li:last-child{padding-bottom:0}.journal-prose .entry-period,.journal-prose .entry-location{font-family:ui-monospace,monospace;font-size:10px}.journal-prose .degree{font-size:15px}.journal-prose .education-coursework h4{margin:16px 0 8px}.journal-prose .coursework-list{gap:8px 20px;margin:0;padding:0;font-size:12px;line-height:1.6;list-style:none}.journal-prose .experience-card{background:0 0;border-left:0;padding:0}.journal-prose .experience-card ul{font-size:13px}.journal-prose .interests-list{grid-template-columns:1fr 1fr;gap:6px 20px;margin:10px 0 0;padding:0;list-style:none;display:grid}.journal-prose .interests-list li{font-size:14px;line-height:1.6}.journal-prose .toolkit-expander{background:0 0;border-color:#c6d1b8}.journal-prose .awards-list{padding-left:0;list-style:none}.margin-note{color:#88967b;padding:80px 10px;font:italic 24px/1.6 Georgia,serif;transform:rotate(-3deg)}.margin-note>span{font:50px/1 Georgia,serif}.margin-note small{letter-spacing:.04em;font:9px/1.6 ui-monospace,monospace}.journal-interlude{margin:100px calc(-1 * var(--gutter)) 10px;padding:30px var(--gutter) 35px;background:#e9eedf;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:60px;display:grid}.interlude-writing{max-width:370px;padding-left:clamp(0px,4vw,52px)}.interlude-writing h2{margin-bottom:22px;font-style:italic}.interlude-writing>p:last-child{color:#6d7d61;max-width:30ch;font:15px/1.9 Segoe UI,Arial,sans-serif}.island-figure{color:#718267;min-width:0;margin:0}.island-air{isolation:isolate;height:480px;position:relative}.world-loading{z-index:2;background:var(--paper);color:#7d8973;text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:14px;padding:24px;font:10px/1.8 ui-monospace,monospace;display:grid;position:absolute;inset:0}.world-loading>span{max-width:34ch}.loading-frog{width:32px;height:32px;image-rendering:pixelated;background-repeat:no-repeat;background-size:128px 32px;display:block}.world-loading:not(.world-loading-error) .loading-frog{animation:.8s steps(4,end) infinite loading-frog-walk}@keyframes loading-frog-walk{0%{background-position:0 0}to{background-position:-128px 0}}@media (prefers-reduced-motion:reduce){.world-loading .loading-frog{animation:none!important}}.island-shadow{filter:blur(8px);background:#5c6c3a14;border-radius:50%;width:50%;height:20px;position:absolute;bottom:14px;left:28%}.island-canvas{position:absolute;inset:0}.island-canvas canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:pan-y;display:block}.island-figure figcaption{border-top:1px solid #ccd5c0;align-items:baseline;gap:12px;padding-top:15px;font:10px/1.8 ui-monospace,monospace;display:flex}.figure-number{color:#9aa78b;white-space:nowrap;font-size:8px}.live-tag{align-items:center;gap:5px;margin-left:auto;font-size:8px;display:inline-flex}.live-tag i{background:#81996b;width:4px;height:4px}.island-instructions{color:#88977a;margin:8px 0;font:10px/1.8 ui-monospace,monospace}.island-actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.text-button{color:#556b46;text-underline-offset:5px;background:0 0;border:0;min-height:44px;padding:7px 0;font:10px/1.6 ui-monospace,monospace;text-decoration:underline}.text-button:hover{color:#243d1c}.island-actions .animal-dock{align-items:flex-start;max-width:100%;position:relative;inset:auto}.island-actions .animal-toggle{box-shadow:none;color:#556b46;text-underline-offset:5px;background:0 0;border:0;padding:7px 0;font:10px/1.6 ui-monospace,monospace;text-decoration:underline}.island-actions .animal-panel{width:min(296px,100%);max-height:420px;box-shadow:none;background:#f0f2e8;border:1px solid #c6d0b8;margin-bottom:14px}.island-message{background:#e4ebd8;border-left:2px solid #8ca672;padding:10px 12px;font:11px/1.7 ui-monospace,monospace}.island-actions .animal-follow-hint{color:#7b8e6c;background:0 0;margin:0;padding-left:0}.journal-signoff{border-top:1px solid #ccd5c0;margin-top:100px;padding:110px 0 80px}.journal-signoff h2{margin-bottom:22px;font-style:italic}.back-to-top{color:#819172;align-items:center;min-height:44px;margin-top:24px;font:10px/1.6 ui-monospace,monospace;display:inline-flex}.journal-footer{padding:20px var(--gutter);color:#8a9680;border-top:1px solid #d4dbca;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px;font:9px/1.8 ui-monospace,monospace;display:flex}.journal-footer a{align-items:center;min-height:44px;display:inline-flex}.journal-footer>span:last-child{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.forest-footer{width:100%;height:100svh;min-height:800px;position:relative;overflow:hidden}.forest-footer-canvas{position:absolute;inset:0}.forest-footer canvas{touch-action:pan-y;image-rendering:pixelated;image-rendering:crisp-edges;display:block}@media (width>=761px){.journal-section.aside-left>.journal-copy{grid-area:1/2}.journal-section.aside-left>.journal-aside{grid-area:1/1}}@media (width>=1600px){.journal-header{max-width:1424px}}@media (width<=1100px){.journal-hero{gap:18px}.hero-writing h1{font-size:59px}.journal-section{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:40px}.journal-section:has(.island-figure){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.island-air{height:340px}}@media (width<=760px){html{scroll-padding-top:24px}.journal-header{grid-template-columns:minmax(0,1fr);gap:12px;padding-top:16px;padding-bottom:12px}.journal-identity{min-width:0}.identity-sub{overflow-wrap:anywhere}.journal-header nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:12px;width:100%}.journal-header nav>a{font-size:11px}.journal-hero{grid-template-columns:1fr;gap:20px;padding-top:48px;padding-bottom:45px}.hero-writing h1{letter-spacing:-.05em;font-size:clamp(47px,10vw,69px)}.hero-break{display:none}.hero-introduction{max-width:55ch;font-size:15px}.section-kicker{margin-bottom:20px;font-size:9px}.journal-site .contact-links{gap:12px}.journal-site .contact-links a{font-size:10px}.reading-link{margin-top:16px}.island-air{width:100vw;height:356px;margin-inline:calc(50% - 50vw)}.island-shadow{display:none}.island-figure{justify-self:center;width:100%;max-width:550px}.journal-divider{letter-spacing:.04em;justify-content:space-between;gap:8px;font-size:8px;display:flex}.journal-divider>span:last-child{display:none}:is(.journal-section,.journal-section:has(.island-figure)){grid-template-columns:1fr;gap:0;padding-top:65px}.journal-copy>h2{margin-bottom:32px;font-size:37px}.journal-aside{justify-self:center;width:100%;max-width:550px;padding-top:15px;position:relative;top:auto}.margin-note{padding:20px 12px 0;display:none}.journal-prose .project-card-featured h3{font-size:46px}.journal-prose .project-card p{font-size:13px}.journal-prose .project-grid{gap:0 22px}.journal-prose .publication{padding:16px}.journal-prose .publication h4{font-size:14px}.journal-interlude{grid-template-columns:1fr;gap:0;margin-top:65px;padding-top:45px}.interlude-writing{max-width:none;padding-left:0}.interlude-writing h2{font-size:36px}.interlude-writing>p:last-child{max-width:38ch;font-size:14px}.journal-interlude .island-figure{justify-self:center;width:100%;max-width:550px}.journal-signoff{margin-top:70px;padding:65px 0 45px}.journal-signoff h2{font-size:36px}.journal-footer{gap:8px 20px}.journal-footer>span:last-child{margin-left:0}}@media (width<=380px){.journal-header nav{gap:8px}.journal-header nav>a{font-size:10px}.journal-prose .project-grid,.journal-prose .interests-list{grid-template-columns:1fr}.island-figure figcaption{gap:8px;font-size:9px}.live-tag{display:none}.hero-writing h1{font-size:44px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (width<=380px){.journal-identity{gap:8px;font-size:12px}}.journal-site .contact-links .discord-contact{color:inherit;text-transform:none;letter-spacing:normal;-webkit-user-select:text;user-select:text;background:0 0;border:0;align-items:center;gap:7px;padding:0;font:11px/1.5 ui-monospace,monospace;display:inline-flex}.contact-links img{width:16px;height:16px;image-rendering:pixelated;flex:0 0 16px;display:block}.journal-site .contact-links .discord-contact:hover{color:#68775e;background:0 0}.contact-status{color:#68775e;align-self:center;font:10px/1.5 ui-monospace,monospace}.contact-status:empty{display:none}@media (width<=600px){.journal-site .contact-links .discord-contact{font-size:10px}}.journal-signoff{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:80px;display:grid}.interaction-stats{position:relative}.interaction-stats:before{content:"";background:#ccd5c0;width:1px;position:absolute;top:0;bottom:0;left:-40.5px}.interaction-stats h3{color:#293a30;margin:0 0 10px;font:28px/1.2 Georgia,serif}.stats-intro{color:#68775e;max-width:46ch;margin:0 0 22px;font-size:12px;line-height:1.7}.stats-group+.stats-group{margin-top:18px}.stats-group h4{color:#7d8973;margin:0 0 8px;font:12px/1.5 ui-monospace,monospace}.stats-group dl{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0;display:grid}.stats-group dl>div{color:#6d7863;flex-direction:column;align-items:center;gap:6px;min-width:0;font:13px/1.5 ui-monospace,monospace;display:flex}.stat-icon{justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon>span{image-rendering:pixelated;background-repeat:no-repeat;flex-shrink:0;display:block}.stats-group dd{font-variant-numeric:tabular-nums;margin:0}.stats-group .stats-collected{color:#354d32}.stats-group .stats-collected dd{font-weight:700}.stats-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.journal-signoff{grid-template-columns:minmax(0,1fr);gap:32px}.interaction-stats{max-width:540px}.interaction-stats:before{width:auto;height:1px;inset:-16.5px 0 auto}}@media (width<=380px){.stats-group dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}}.stats-page{color:#68775e;border-top:1px solid #d4dbca;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:20px;padding-top:12px;font:12px/1.5 ui-monospace,monospace;display:flex}.stats-views{align-items:center;gap:8px;min-height:44px;display:inline-flex}.stats-page img{image-rendering:pixelated;flex-shrink:0;display:block}.stats-connection{color:#7d8973;margin:10px 0 0;font:11px/1.6 ui-monospace,monospace}.page-stat-icon{flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.page-stat-icon>span{image-rendering:pixelated;background-repeat:no-repeat;flex-shrink:0;display:block}.contact-links .github-icon{image-rendering:auto;object-fit:contain}.blog-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;display:flex}.journal-prose .blog-heading h3{margin-bottom:0}.blog-heading>a{align-items:center;gap:6px;min-height:44px;font:11px/1.5 ui-monospace,monospace;display:inline-flex}.journal-prose .blog-recent-label{color:#68775e;margin:18px 0 8px;font-size:12px;font-weight:400}.blog-posts{margin:0;padding:0;list-style:none}.journal-prose .blog-posts>li{border-bottom:1px solid #d4dbca;gap:4px;margin:0;padding:12px 0;display:grid}.blog-posts a{justify-content:space-between;align-items:baseline;gap:12px;min-height:44px;font-size:16px;line-height:1.5;display:flex}.blog-posts a>span{flex-shrink:0;font-size:12px}.blog-posts time{color:#7d8973;font:10px/1.6 ui-monospace,monospace}.blog-feed-note{color:#68775e;margin:12px 0 0;font:11px/1.7 ui-monospace,monospace}.stats-group-animals .stat-icon{align-items:flex-end;padding-bottom:4px}.stats-group-animals dl{grid-template-columns:repeat(7,minmax(0,1fr))}@media (width<=600px){.stats-group-animals dl{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1200px){.forest-footer{min-height:1200px}}
