/* Leech: a quiet, pixel-built woodland. */
:root {
  --agar:#f7f6eb; --agar-2:#e5e9d6; --agar-3:#d1deba;
  --paper:#fffef5; --paper-2:#eff1e2; --ink:#243b29; --ink-2:#586b52; --ink-3:#75816b;
  --pink:#c9ee7a; --pink-2:#deefb9; --pink-3:#edf5db; --pink-ink:#4c7131;
  --lime:#bddb8f; --lime-2:#dfedc7; --lime-ink:#45632b; --gold:#eee6a3;
  --sky:#e9edc6; --burn:#ad583e; --burn-ink:#815237; --b:2px;
  --sh:4px 4px 0 #243b2920;
}
html{scroll-padding-top:100px}
body{background:var(--agar);color:var(--ink);font-size:16px;line-height:1.55;overflow-x:clip}
::selection{background:var(--pink);color:var(--ink)}
:focus-visible{outline:3px solid #699c35;outline-offset:5px}
.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px}
.skip-link:focus{top:12px}
.top{height:84px;max-width:none;padding:0 max(28px,calc((100vw - 1200px)/2));gap:56px;background:#f7f6ebf5;border-bottom:1px solid #243b2933;backdrop-filter:blur(14px)}
.top .brand{font-size:32px;gap:10px;letter-spacing:-.7px}
.top .brand img{width:40px;height:40px;object-fit:contain}
.top .brand span{display:inline}
.top .nav{gap:30px;align-items:center;flex-wrap:nowrap}
.top .nav a.nav-keep{font-family:var(--body);font-size:15px;font-weight:700;color:var(--ink-2);white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;border-bottom-width:2px}
.top .nav a:hover,.top .nav a[aria-current]{color:var(--ink);border-color:var(--ink)}
.rt,.rt.big,.rt.sm{--bg:var(--paper);--fg:var(--ink);border:2px solid var(--ink);background:var(--bg);color:var(--fg);box-shadow:3px 3px 0 #243b2924;clip-path:none;border-radius:0;font:700 16px/1.2 var(--body);padding:11px 20px;min-height:46px;transition:transform .16s,box-shadow .16s,background .16s}
.rt.big{min-height:54px;font-size:16px;padding:14px 22px;gap:16px}
.rt.solid{--bg:var(--pink);--fg:var(--ink)}
.rt:hover,.rt.solid:hover{--bg:#ddf5ae;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #243b2940}
.rt:active{transform:translate(2px,2px);box-shadow:none}
.rt:focus-visible{outline:3px solid #699c35;outline-offset:4px}
.rt.sm{font-size:13px;min-height:38px;padding:8px 12px;box-shadow:none}
.top-act .rt.solid{background:transparent;border:1px solid #a8b496;gap:9px;font-weight:400}
.network-dot,.field-line i,.habitat-top i{display:inline-block;width:7px;height:7px;background:#739b45;box-shadow:2px 2px 0 #cadba5;flex:none}
.board{border:1px solid #adb79b;box-shadow:var(--sh);background:var(--paper)}
.board::before,.board::after{display:none}
.in{border:1px solid #aeb89e;background:#fffffa;box-shadow:none;min-height:46px;clip-path:none;border-radius:0;font-family:var(--body)}
.in:focus{border-color:var(--ink);outline:2px solid #c9ee7a;outline-offset:1px}
.name{color:var(--ink);text-shadow:none;letter-spacing:-2px;line-height:1}
.kicker{font-size:10px;line-height:1.6;flex-wrap:wrap;gap:12px}
.kicker span:first-child{background:var(--pink-2);color:var(--ink)}
.eyebrow{font:400 10px/1.6 var(--num);letter-spacing:1px;color:var(--ink-2);margin:0 0 15px}
.stage{max-width:1256px;margin:0 auto;padding:27px 28px 62px}
.field-line{display:flex;justify-content:space-between;gap:20px;font:400 9px/1.6 var(--num);letter-spacing:.6px;color:var(--ink-2);padding-bottom:22px;border-bottom:1px solid #243b2922}
.field-line>span:first-child{display:flex;align-items:center;gap:10px}
.welcome{display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;padding:48px 0 50px}
.welcome-copy{padding-bottom:5px}
.welcome .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:.3px;font-size:10px}
.pixel-spark{font:28px/1 var(--disp);color:#739b45}
.welcome h1{font:700 clamp(52px,5.5vw,80px)/.97 var(--disp);letter-spacing:-2.4px;margin:19px 0 25px;white-space:nowrap}
.welcome h1>span{color:#66854b}
.welcome-intro{font-size:18px;line-height:1.65;max-width:400px;color:var(--ink-2);margin:0 0 29px}
.welcome-actions{display:flex;gap:12px;flex-wrap:wrap}
.welcome-guide{display:inline-flex;align-items:center;gap:10px;margin-top:26px;font-size:13px;text-decoration:none;color:var(--ink-2)}
.welcome-guide:hover{text-decoration:underline;text-underline-offset:5px}
.welcome-guide>span{display:grid;place-items:center;width:22px;height:22px;background:var(--paper-2);border:1px solid #aab69b}
.habitat{position:relative;min-width:0;align-self:center;border:2px solid var(--ink);box-shadow:7px 7px 0 #dce1ca;background:#e3e8c4;transform:rotate(1deg)}
.habitat-top,.habitat-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;background:var(--paper);font:400 9px/1.5 var(--num);color:var(--ink-2);padding:12px 15px}
.habitat-top{border-bottom:2px solid var(--ink)}
.habitat-top>span:first-child{display:flex;align-items:center;gap:9px}
.habitat-bottom{border-top:2px solid var(--ink);font:400 13px/1.5 var(--body)}
.habitat-bottom>span:last-child{font-size:20px;line-height:1;color:#769a42}
.habitat-art{display:block;width:100%;height:360px;object-fit:cover;image-rendering:pixelated}
.habitat-stamp{position:absolute;right:-16px;bottom:58px;transform:rotate(-8deg);border:2px solid var(--ink);background:var(--pink);padding:12px 15px;box-shadow:3px 3px 0 #243b2926;font:700 22px/.95 var(--disp);text-align:center}
.colony-dock{border-top:1px solid #adb79b;padding-top:23px}
.dock-heading{display:flex;align-items:center;gap:18px;margin-bottom:17px}
.dock-heading h2{font:700 25px/1.1 var(--disp);margin:0;letter-spacing:-.5px}
.dock-heading p{font-size:13px;color:var(--ink-2);margin:0}
.dock-heading>a{margin-left:auto;font-size:13px;text-decoration:none;white-space:nowrap}
.dock-heading>a:hover{text-decoration:underline}
.colony-dock .colony{position:static;display:flex;gap:10px;height:auto;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 12px;scrollbar-width:thin;scrollbar-color:#adb79b transparent;scroll-snap-type:x proximity}
.colony-dock .critter{position:relative;inset:auto;transform:none;display:flex;flex:1 0 88px;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:98px;padding:12px 8px;border:1px solid #aeb89e;background:#fffef5;scroll-snap-align:start;transition:background .15s,transform .15s}
.colony-dock .critter:hover,.colony-dock .critter[aria-current="true"]{background:var(--pink-2);transform:translateY(-2px);border-color:var(--ink)}
.colony-dock .critter img{height:42px;width:48px;object-fit:contain;image-rendering:pixelated;filter:none;order:0;transform:none}
.colony-dock .critter b{order:1;border:0;background:none;padding:0;font:700 12px/1.2 var(--disp);max-width:none}
.colony-overview{margin-top:27px;padding-top:22px;border-top:1px solid #243b2922;display:grid;grid-template-columns:1fr 1.7fr;gap:30px;align-items:center}
.overview-heading .eyebrow{margin:0;font-size:9px}
.overview-heading p{font-size:12px;line-height:1.5;color:var(--ink-3);margin:7px 0 0;max-width:240px}
.stage .hud{display:grid;grid-template-columns:repeat(3,1fr) 1.55fr;gap:0;background:transparent;color:var(--ink);border:0;box-shadow:none;margin:0}
.stage .hud-f{border-right:1px solid #b9c2aa;gap:7px;padding:3px 22px}
.stage .hud-f:last-child{border:0;padding-right:0}
.stage .hud-f b{font:400 10px/1.3 var(--body);text-transform:none;color:var(--ink-2)}
.stage .hud-f>span{font:700 29px/1 var(--disp);color:var(--ink)}
.feed-status{font-size:12px;color:var(--ink-3);margin:20px 0 0}
.feed-status:empty{display:none}
.end{background:#e8edd9;border-top:1px solid #aeb89e;padding:45px 28px;color:var(--ink)}
.end-in{max-width:1200px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:44px}
.footer-brand .brand{font-size:30px;gap:10px}
.footer-brand .brand img{width:40px;height:40px}
.footer-brand>p{font-size:14px;color:var(--ink-2);margin:10px 0}
.footer-small{font:400 8px/1.7 var(--num);color:var(--ink-3)}
.end-links{display:flex;flex-direction:column;gap:10px;font-size:14px}
.end-links a{text-decoration:none}.end-links a:hover{text-decoration:underline}
.footer-note{display:flex;gap:18px;align-items:center}
.footer-note>span{font-size:54px;line-height:1;color:#799d46}
.footer-note p{font:700 25px/1.1 var(--disp)}
@media(min-width:1500px){.welcome h1{font-size:82px}.habitat-art{height:380px}}
@media(max-width:1080px){.top{gap:30px;padding-inline:28px}.top .nav{gap:22px}.welcome{gap:30px}.welcome h1{font-size:clamp(48px,6vw,66px)}.welcome-intro{font-size:16px}.welcome-actions .rt.big{font-size:14px;padding:13px 16px}.habitat-art{height:335px}.stage .hud-f{padding-inline:15px}}
@media(max-width:780px){html{scroll-padding-top:128px}.top{min-height:74px;height:auto;padding:14px 22px;gap:12px 22px;flex-wrap:wrap}.top .brand{font-size:28px}.top .nav{order:3;flex-basis:100%;justify-content:space-between;gap:20px;flex-wrap:nowrap}.top .nav a.nav-keep{font-size:13px;min-height:32px;padding:5px 0}.top-act{margin-left:auto}.top-act .rt.sm{min-height:34px;font-size:12px}.stage{padding:24px 22px 38px}.field-coordinate{display:none}.welcome{grid-template-columns:1fr;gap:30px;padding:32px 0 40px}.welcome h1{font-size:clamp(52px,9.8vw,72px);letter-spacing:-1.8px;margin-top:12px;margin-bottom:20px}.welcome-intro{font-size:17px;max-width:470px}.welcome-guide{margin-top:24px}.habitat{transform:rotate(.5deg);margin-right:6px}.habitat-art{height:clamp(270px,56vw,390px)}.habitat-stamp{right:-11px;bottom:53px}.colony-dock .critter{flex-basis:82px;min-height:94px}.dock-heading{gap:10px;flex-wrap:wrap}.dock-heading h2{font-size:24px}.dock-heading p{display:none}.colony-overview{grid-template-columns:1fr;gap:18px}.overview-heading p{max-width:none}.stage .hud-f{padding-inline:13px}.stage .hud-f:first-child{padding-left:0}.stage .hud-f>span{font-size:26px}.end-in{align-items:flex-start;gap:30px;flex-wrap:wrap}.footer-note{display:none}}
@media(max-width:390px){.stage{padding-inline:17px}.top{padding-inline:17px}.welcome h1{font-size:49px}.welcome-actions{gap:10px}.welcome-actions .rt.big{font-size:13px;padding:12px}.stage .hud-f{padding-inline:9px}.stage .hud-f>span{font-size:23px}.habitat-top{font-size:8px;padding:10px}.dock-heading h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
