@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_be5c1314-module__EPbiua__className{font-family:Fraunces,Fraunces Fallback}.fraunces_be5c1314-module__EPbiua__variable{--font-serif-latin:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/9abe3d53283d35f1-s.p.3i-m22b4jynti.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/30afb5697bad2800-s.1h9eubhpkfzvo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/890d5c8c3271b311-s.0_bxzqld7tqed.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/9abe3d53283d35f1-s.p.3i-m22b4jynti.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/30afb5697bad2800-s.1h9eubhpkfzvo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Serif Thai;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/890d5c8c3271b311-s.0_bxzqld7tqed.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Serif Thai Fallback;src:local(Times New Roman);ascent-override:89.86%;descent-override:45.1%;line-gap-override:0.0%;size-adjust:118.4%}.noto_serif_thai_ed7fad37-module__EqQ2zG__className{font-family:Noto Serif Thai,Noto Serif Thai Fallback;font-style:normal}.noto_serif_thai_ed7fad37-module__EqQ2zG__variable{--font-serif-thai:"Noto Serif Thai", "Noto Serif Thai Fallback"}
@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(../media/57c9eb05141b6b7c-s.1_ys3c26k4_gs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(../media/c73fb3e54683eaf8-s.p.2gbellpigh0-a.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(../media/caaacb6502e94400-s.3e2xrstrwhhfi.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d9fa5058ff337146-s.p.44jmtf5zsgne4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/08f3d05b771d66cc-s.0dczi0c-ciz7y.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/413670c8b897121b-s.p.05ilbcjt5w4fk.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/72b93e0389b54497-s.2702wjwyj2vsx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ab8c2f9dfe50fb3c-s.p.3fhymijt5-wr6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/57f2d0e8dd065b18-s.0ur3_fbwo_va3.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/966a1ae9b0187c65-s.p.09_mmm-c_hkcy.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/25d906941e607a44-s.0ghkj-ex387wh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans Thai;font-style:normal;font-weight:500;font-display:swap;src:url(../media/666deae7c569669f-s.p.2alr3g42g9l52.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Sans Thai Fallback;src:local(Arial);ascent-override:110.31%;descent-override:52.78%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_thai_b9eb4b9a-module__hDXPfq__className{font-family:IBM Plex Sans Thai,IBM Plex Sans Thai Fallback;font-style:normal}.ibm_plex_sans_thai_b9eb4b9a-module__hDXPfq__variable{--font-sans:"IBM Plex Sans Thai", "IBM Plex Sans Thai Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_5f3f0ba6-module__bb-XVW__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_5f3f0ba6-module__bb-XVW__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
body:has(.eco-app){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#02050a;margin:0;overflow:hidden}.eco-app{--text:#eef2f3;--soft:#cdd8dc;--muted:#9aabb3;--faint:#6c7f88;--line:#cde1eb29;--line2:#cde1eb52;--accent:#8fe0cf;--warm:#f0b86e;--card:#080e11cc;--serif:var(--font-serif-latin), var(--font-serif-thai), Georgia, serif;--sans:var(--font-sans), system-ui, sans-serif;--mono:var(--font-mono), var(--font-sans), ui-monospace, monospace;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;position:fixed;inset:0;overflow:hidden}.eco-app *{box-sizing:border-box}.eco-app button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.eco-app button:disabled{cursor:default}.eco-app :focus-visible{outline:1px solid var(--accent);outline-offset:4px}.eco-canvas{position:absolute;inset:0}.eco-canvas canvas{touch-action:none;outline:none;display:block}.eco-vignette{z-index:5;pointer-events:none;background:radial-gradient(120% 95% at 50% 45%,#0000 60%,#02060961 100%),linear-gradient(#0205086b,#02050800 14%);position:absolute;inset:0}.in-forest .eco-vignette{background:radial-gradient(120% 95% at 50% 45%,#0000 64%,#08120e47 100%),linear-gradient(#040a0852,#040a0800 12%)}.eco-white{z-index:6;pointer-events:none;background:#eef2f3;position:absolute;inset:0}.eco-brand{z-index:20;position:absolute;top:22px;left:32px}.eco-brand .back{font-family:var(--mono);letter-spacing:.12em;color:var(--muted);margin-bottom:6px;font-size:11px;text-decoration:none;display:inline-block}.eco-brand .back:hover{color:var(--text)}.eco-brand h1{font-family:var(--serif);letter-spacing:.2px;margin:0;font-size:22px;font-weight:500}.eco-top{z-index:20;color:var(--muted);align-items:center;gap:20px;font-size:13.5px;display:flex;position:absolute;top:26px;right:28px}.eco-top .seg{gap:12px;display:flex}.eco-app .tbtn,.eco-app .seg button{color:var(--soft);white-space:nowrap;text-shadow:0 1px 6px #00000073;border-bottom:1px solid #0000;padding:3px 0;transition:color .2s,border-color .2s}.eco-app .tbtn[aria-pressed=true],.eco-app .tbtn[aria-expanded=true],.eco-app .seg button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--accent)}.eco-app .tbtn:hover,.eco-app .seg button:hover{color:var(--text)}.eco-menu{z-index:23;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;gap:12px;padding:12px 14px;font-size:13.5px;display:grid;position:absolute;top:62px;right:28px}.eco-menu .time{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.eco-menu .k{font-family:var(--mono);letter-spacing:.12em;color:var(--faint);margin-right:2px;font-size:10.5px}.eco-menu .tbtn{text-shadow:none;justify-self:start}.eco-cap{z-index:18;width:min(520px,100vw - 64px);transition:opacity .6s,transform .6s;position:absolute;bottom:30px;left:32px}.in-forest .eco-cap{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;padding:18px 20px 16px}.eco-cap h2{font-family:var(--serif);color:#f2f5f6;margin:0 0 6px;font-size:clamp(28px,3vw,40px);font-weight:400;line-height:1.2}.eco-cap .what{color:var(--soft);margin:0 0 12px;font-size:16px;line-height:1.6}.eco-cap .grammar{gap:6px;margin:0 0 14px;display:grid}.eco-cap .grammar div{grid-template-columns:76px 1fr;gap:10px;display:grid}.eco-cap dt{color:var(--faint);padding-top:2px;font-size:12px}.eco-cap dd{color:var(--soft);margin:0;font-size:14.5px;line-height:1.55}.eco-cap .grammar div:last-child dd{color:var(--warm)}.inspecting .eco-cap .grammar,.inspecting .eco-cap .what,.inspecting .eco-cap .ctl{display:none}.eco-cap .ctl{flex-wrap:wrap;align-items:center;gap:18px;font-size:14px;display:flex}.eco-cap .tbtn.strong{color:var(--accent);border-bottom-color:#8fe0cf73}.eco-cap .hint{color:var(--muted);font-size:12.5px}.intro .eco-cap,.intro .eco-top{opacity:0;pointer-events:none;transform:translateY(8px)}.eco-cap,.eco-top{transition:opacity 1s,transform 1s}.eco-skip{z-index:31;border-radius:999px;font-size:13px;position:absolute;bottom:34px;left:50%;transform:translate(-50%);color:var(--soft)!important;border:1px solid var(--line2)!important;background:#080e118c!important;padding:6px 14px!important}.eco-skip:hover{color:var(--text)!important}.eco-leaders{z-index:9;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.eco-leaders line{stroke:#dde7eb8c;stroke-width:1px}.eco-leaders circle{fill:#dde7ebe6}.eco-leaders .focus line{stroke:var(--warm)}.eco-leaders .focus circle{fill:var(--warm)}.eco-labels{z-index:10;pointer-events:none;position:absolute;inset:0}.eco-labels .co{color:#e6eef1;white-space:nowrap;background:#03070ab8;border-radius:3px;padding:0 8px;font-size:12.5px;line-height:20px;transition:opacity .35s,color .2s;position:absolute;top:0;left:0}.eco-labels .co .f{color:var(--muted)}.eco-labels .co.focus{color:#fff}.eco-labels .co.focus .f{color:var(--warm)}@keyframes eco-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.25)}}@keyframes eco-rise{0%{opacity:0;margin-top:8px}to{opacity:1;margin-top:0}}.eco-loading{z-index:40;font-family:var(--mono);letter-spacing:.16em;color:var(--muted);background:#02050a;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.eco-entering{z-index:30;font-family:var(--mono);letter-spacing:.16em;color:#3b4a52;font-size:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eco-fallback{z-index:4;background:radial-gradient(at 70% 40%,#0d2420,#02050a 70%);align-content:center;justify-items:start;gap:18px;padding:0 32px;display:grid;position:absolute;inset:0}.eco-fallback p{max-width:560px;color:var(--soft);margin:120px 0 0;font-size:15px;line-height:1.7}.eco-fallback .stops{flex-wrap:wrap;gap:8px 18px;font-size:14px;display:flex}.eco-fallback .stops button{color:var(--muted);border-bottom:1px solid var(--line2);padding:4px 0}.eco-fallback .stops button[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}.eco-credits{width:min(640px,100vw - 32px);max-height:calc(100vh - 64px);color:var(--text);border:1px solid var(--line);font-family:var(--sans);background:#060b0ff5;border-radius:10px;padding:22px 24px}.eco-credits::backdrop{background:#0000008c}.eco-credits .x{width:32px;height:32px;color:var(--muted);font-size:20px;position:absolute;top:8px;right:10px}.eco-credits .kick{font-family:var(--mono);letter-spacing:.14em;color:var(--warm);font-size:10.5px}.eco-credits h3{font-family:var(--serif);margin:6px 0 10px;font-size:26px;font-weight:400}.eco-credits h4{font-family:var(--mono);letter-spacing:.12em;color:var(--faint);margin:16px 0 6px;font-size:10.5px;font-weight:400}.eco-credits p,.eco-credits li{color:var(--soft);font-size:13.5px;line-height:1.65}.eco-credits ul{margin:0;padding-left:18px}.eco-credits a{color:var(--accent)}@media (max-width:820px){.eco-brand{top:12px;left:16px}.eco-brand h1{font-size:18px}.eco-brand .back{display:none}.eco-top{gap:14px;font-size:13px;top:14px;right:16px}.eco-menu{top:48px;left:12px;right:12px}.eco-cap{background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;width:auto;padding:14px 16px;bottom:12px;left:12px;right:12px}.eco-cap h2{font-size:24px}.eco-cap .what{margin-bottom:8px;font-size:14.5px}.eco-cap .grammar div:first-child{display:none}.eco-cap .grammar div{grid-template-columns:1fr;gap:2px}.eco-cap .hint{display:none}.eco-skip{top:54px;bottom:auto}.inspecting .eco-cap{opacity:0;pointer-events:none}}@media (prefers-reduced-motion:reduce){.eco-app *{transition-duration:10ms!important;animation-duration:10ms!important}}.eco-perf{z-index:60;font:11px/1.45 var(--mono,monospace);color:#d8f5ee;pointer-events:none;white-space:pre;background:#000000b8;border-radius:6px;margin:0;padding:8px 10px;position:fixed;top:50%;left:12px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eco-top .seg.lenses{border:1px solid var(--line);background:#080e118c;border-radius:999px;gap:4px;padding:3px}.eco-top .seg.lenses button{text-shadow:none;border:0;border-radius:999px;padding:4px 12px}.eco-top .seg.lenses button[aria-pressed=true]{color:var(--text);background:#8fe0cf2e}.eco-app .pill{color:var(--soft);text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;font-size:13px;display:inline-flex;border:1px solid var(--line2)!important}.eco-app .pill small{color:var(--muted);font-size:11px}.eco-app .pill.on,.eco-app .pill:hover{color:var(--text);border-color:var(--accent)!important}.eco-tip{z-index:25;pointer-events:none;color:#fff;white-space:nowrap;background:#03070acc;border-radius:4px;padding:2px 8px;font-size:12.5px;transition:opacity .15s;position:fixed;top:0;left:0}.eco-legend{z-index:17;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:8px;max-width:260px;padding:8px 12px 10px;position:absolute;bottom:30px;right:28px}.eco-legend.closed{padding:6px 10px}.eco-legend ul{color:var(--soft);grid-template-columns:1fr 1fr;gap:4px 10px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.eco-legend li{align-items:center;gap:6px;line-height:1.25;display:flex}.eco-legend i,.eco-sheet .list i,.eco-latitude .found i{border-radius:2px;flex:none;width:10px;height:10px;display:inline-block}.eco-legend .seg{gap:10px;margin-top:8px;font-size:12.5px;display:flex}.eco-legend .src,.eco-organism .src{color:var(--faint);margin:8px 0 0;font-size:10.5px}.eco-biome{z-index:19;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;width:min(560px,100vw - 64px);max-height:calc(100vh - 140px);padding:18px 20px 16px;animation:.35s both eco-rise;position:absolute;bottom:30px;left:32px;overflow:auto}.eco-biome .x,.eco-sheet .x,.eco-latitude .x,.eco-organism .x{width:32px;height:32px;color:var(--muted);font-size:20px;position:absolute;top:6px;right:8px}.eco-biome .kick,.eco-organism .kick{color:var(--warm);font-size:12px}.eco-biome h2,.eco-sheet h2,.eco-latitude h2{font-family:var(--serif);margin:2px 30px 6px 0;font-size:clamp(24px,2.6vw,32px);font-weight:400;line-height:1.2}.eco-biome .what,.eco-sheet .what,.eco-latitude .what{color:var(--soft);margin:0 0 12px;font-size:15px;line-height:1.6}.eco-biome h4,.eco-sheet h4{color:var(--faint);margin:10px 0 6px;font-size:12px;font-weight:500}.eco-biome h4 small,.eco-sheet h4 small{margin-left:6px;font-weight:400}.eco-biome .grid{grid-template-columns:220px 1fr;gap:16px;display:grid}.eco-app .small{color:var(--soft);margin:6px 0;font-size:13px;line-height:1.6}.eco-biome .regions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.eco-biome .chips{flex-wrap:wrap;gap:5px;margin:8px 0 2px;display:flex}.eco-biome .chips span{color:var(--soft);border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11.5px}.eco-biome .tabs{border-bottom:1px solid var(--line);gap:18px;margin:14px 0 8px;font-size:13.5px;display:flex}.eco-biome .tabs button{color:var(--muted);margin-bottom:-1px;padding:6px 0;border-bottom:2px solid #0000!important}.eco-biome .tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)!important}.eco-biome .row{flex-wrap:wrap;gap:8px;display:flex}.eco-biome .continents .continent{margin-top:8px}.eco-biome .continents .lab,.eco-sheet .group .lab{color:var(--muted);margin-bottom:4px;font-size:12px}.eco-biome .ask,.eco-inquiry .ask{color:var(--warm);font-size:14px}.eco-biome .look,.eco-latitude .look{color:var(--warm);margin:12px 0 0;font-size:14px;line-height:1.55}.eco-biome .look span,.eco-latitude .look span{color:var(--faint);font-size:12px;display:block}.eco-biome .ctl{flex-wrap:wrap;gap:14px;margin-top:12px;font-size:13.5px;display:flex}.eco-biome .link{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:14px}.eco-biome.thailand .grammar{margin:6px 0 8px}.eco-biome .grammar div{grid-template-columns:76px 1fr;gap:10px;font-size:14px;display:grid}.eco-biome .grammar dt{color:var(--faint);font-size:12px}.eco-biome .grammar dd{color:var(--soft);margin:0}.eco-reopen{z-index:19;border-radius:999px;font-size:14px;position:absolute;bottom:30px;left:32px;background:var(--card)!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:8px 16px!important}.eco-cap .ctl .tbtn{font-size:13.5px}.eco-scales{gap:6px;display:grid}.eco-scales .row{color:var(--soft);grid-template-columns:56px 1fr 72px;align-items:center;gap:8px;font-size:12.5px;display:grid}.eco-scales .row.season{grid-template-columns:56px 1fr}.eco-scales .k{color:var(--faint);font-size:12px}.eco-scales .ends{color:var(--faint);text-align:right;font-size:10.5px}.eco-scales .track{background:#ffffff14;border-radius:4px;height:8px;position:relative;overflow:hidden}.eco-scales .track.temp{background:linear-gradient(90deg,#5c8ec24d,#e3a84f4d,#c8553d4d)}.eco-scales .track i{border-radius:4px;position:absolute;top:0;bottom:0}.eco-scales .track.temp i{background:#e3a84f;box-shadow:inset 0 0 0 1.5px #ffffffd9}.eco-scales .track.rain i{background:#46a0d6}.eco-scales .num{color:var(--muted);margin:2px 0 0;font-size:12px}.eco-scales .num .src{color:var(--faint)}.eco-scales.compact .row{grid-template-columns:48px 1fr 64px}.eco-minimap{background:#12202c;border-radius:6px;position:relative;overflow:hidden}.eco-minimap img{display:block}.eco-minimap .eq{border-top:1px dashed #f0b86e8c;position:absolute;top:50%;left:0;right:0}.eco-chip{text-align:left;flex-direction:column;gap:4px;width:104px;font-size:12px;display:flex;color:var(--soft)!important}.eco-chip img,.eco-chip .ph{-o-object-fit:cover;object-fit:cover;background:#1a2530;border-radius:6px;width:104px;height:78px}.eco-chip:hover{color:var(--text)!important}.eco-chip:hover img{outline:1.5px solid var(--accent)}.eco-organism{z-index:32;border:1px solid var(--line);background:#080e11f2;border-radius:12px;width:340px;max-height:calc(100vh - 100px);padding:0 0 14px;animation:.3s both eco-rise;position:fixed;top:72px;right:28px;overflow:auto}.eco-organism figure{margin:0 0 10px}.eco-organism figure img{border-radius:12px 12px 0 0;width:100%;height:auto;display:block}.eco-organism figcaption{color:var(--faint);padding:4px 14px 0;font-size:10.5px;line-height:1.4}.eco-organism figcaption a{color:var(--muted)}.eco-organism>.kick,.eco-organism>h3,.eco-organism>.sci,.eco-organism>dl,.eco-organism>.src{margin-left:16px;margin-right:16px}.eco-organism h3{font-family:var(--serif);margin-top:2px;margin-bottom:0;font-size:24px;font-weight:400}.eco-organism .sci{color:var(--muted);margin-top:2px;font-size:12.5px}.eco-organism dl{gap:6px;margin-top:10px;margin-bottom:0;display:grid}.eco-organism dl div{grid-template-columns:58px 1fr;gap:10px;display:grid}.eco-organism dt{color:var(--faint);font-size:12px}.eco-organism dd{color:var(--soft);margin:0;font-size:13.5px;line-height:1.55}.eco-organism a{color:var(--muted)}.eco-organism .x{z-index:2;border-radius:50%;top:10px;right:10px;color:#fff!important;background:#00000073!important}.eco-inquiry p{color:var(--soft);grid-template-columns:64px 1fr;gap:8px;margin:0 0 6px;font-size:14px;line-height:1.55;display:grid}.eco-inquiry .k{color:var(--faint);font-size:12px}.eco-inquiry .explain{color:var(--text);background:#8fe0cf14;border-radius:6px;padding:6px 8px}.eco-inquiry .tbtn{margin-top:4px}.eco-zones{margin:6px 0 0}.eco-zones svg{border-radius:6px;width:100%;height:auto;display:block}.eco-zones figcaption{color:var(--muted);margin-top:4px;font-size:12px}.eco-sheet{z-index:24;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080e11e6;border-radius:12px;width:min(760px,100vw - 48px);max-height:calc(100vh - 120px);padding:20px 22px;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.eco-sheet .cols{grid-template-columns:1fr 1fr;gap:20px;display:grid}.eco-sheet .list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.eco-sheet .list button{width:100%;color:var(--soft);text-align:left;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;font-size:14px;display:flex}.eco-sheet .list button:hover{color:var(--text);background:#8fe0cf14}.eco-sheet .group{margin-bottom:8px}.eco-sheet .note{color:var(--muted);margin-top:14px}.eco-sheet.compare{width:min(880px,100vw - 48px)}.eco-sheet.compare h2 .vs{color:var(--muted);margin:0 6px;font-size:.6em}.eco-sheet.compare .col{align-content:start;gap:10px;display:grid}.eco-sheet.compare select{width:100%;color:var(--text);border:1px solid var(--line2);font:inherit;background:#0e171c;border-radius:6px;padding:6px 8px;font-size:14px}.eco-sheet.compare .org{grid-template-columns:104px 1fr;align-items:start;gap:10px;display:grid}.eco-sheet.compare .why{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}.eco-sheet.compare .why ul{color:var(--soft);margin:0;padding-left:18px;font-size:14px;line-height:1.7}.eco-sheet .pick .sr{position:absolute}.eco-latitude{z-index:19;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;width:min(430px,100vw - 64px);padding:18px 20px 16px;animation:.35s both eco-rise;position:absolute;bottom:30px;left:32px}.eco-latitude .lat-now{margin:8px 0;font-size:15px}.eco-latitude .lat-now b{font-family:var(--serif);font-size:22px;font-weight:400}.eco-latitude .found{color:var(--soft);align-items:center;gap:6px;margin-top:4px;font-size:14px;display:flex}.eco-latitude input[type=range]{width:100%;accent-color:var(--accent)}.eco-latitude .stops{flex-wrap:wrap;gap:4px 10px;margin:8px 0 4px;font-size:12px;display:flex}.eco-latitude .stops button{color:var(--muted)}.eco-latitude .stops button.on{color:var(--accent)}.eco-latitude .note{color:var(--muted)}.in-biome .eco-vignette{background:radial-gradient(120% 95% at 50% 45%,#0000 64%,#080c1040 100%),linear-gradient(#04080a4d,#04080a00 12%)}@media (max-width:820px){.eco-top .seg.lenses button{padding:4px 9px;font-size:12.5px}.eco-top{gap:10px}.eco-biome,.eco-latitude{width:auto;max-height:62vh;padding:14px 14px 12px;bottom:8px;left:8px;right:8px}.eco-biome .grid{grid-template-columns:1fr;gap:6px}.eco-legend{max-width:70vw;top:54px;bottom:auto;right:8px}.eco-legend:not(.closed) ul{grid-template-columns:1fr}.eco-sheet{width:calc(100vw - 16px);max-height:calc(100vh - 80px);padding:16px;top:auto;bottom:8px;transform:translate(-50%)}.eco-sheet .cols,.eco-sheet .cols.two{grid-template-columns:1fr}.eco-organism{width:auto;max-height:70vh;inset:auto 8px 8px}.eco-reopen{bottom:8px;left:8px}.inspecting .eco-biome{opacity:0;pointer-events:none}}.eco-app .sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.eco-app{--prod:#9fd889;--cons:#f0b86e;--deco:#c8a5e8;--abio:#8fc8f0}.r-producer{--role:var(--prod)}.r-consumer{--role:var(--cons)}.r-decomposer,.r-detritivore{--role:var(--deco)}.r-subsidy,.r-detritus{--role:#b9a98a}.eco-avatar{border:2px solid var(--role,var(--line2));background:#1b2830;border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;overflow:visible}.eco-avatar img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:100%;height:100%}.eco-avatar .glyph{font-family:var(--serif);color:var(--soft);font-size:15px}.eco-avatar .mark{color:#081014;background:var(--role,#ccc);border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;font-style:normal;display:grid;position:absolute;bottom:-4px;right:-4px}.eco-role{color:var(--soft);align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.eco-role b{color:var(--role);font-weight:400}.eco-term button{border-bottom:1px dotted var(--muted)!important}.eco-term .def{color:var(--soft);border-left:2px solid var(--accent);background:#ffffff0d;margin:4px 0 6px;padding:6px 8px;font-size:12.5px;line-height:1.5;display:block}.eco-tipnote{color:#0b1a18;background:var(--accent);border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 10px;padding:8px 10px;font-size:13px;line-height:1.5;display:flex}.eco-tipnote button{flex:none;text-decoration:underline;font-size:12px!important}.eco-tipdock{z-index:30;width:min(520px,100vw - 32px);position:absolute;top:76px;left:50%;transform:translate(-50%)}.eco-pins{z-index:12;pointer-events:none;position:absolute;inset:0}.eco-pins .pin{pointer-events:auto;--stem:14px;background:0 0;border:0;width:44px;height:44px;padding:0;transition:opacity .25s;position:absolute;top:-22px;left:-22px}.eco-pins .pin .dot{background:var(--role);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;transition:transform .2s;position:absolute;top:50%;left:50%;box-shadow:0 0 0 2px #060c0ed9,0 0 0 6px #ecf2f029}.eco-pins .pin .stem{width:1px;height:var(--stem);background:linear-gradient(#ecf2f0d9,#ecf2f059);position:absolute;bottom:calc(50% + 7px);left:calc(50% - .5px)}.eco-pins .pin .tag{left:50%;bottom:calc(50% + 7px + var(--stem));white-space:nowrap;color:var(--text);border:1px solid #ecf2f024;border-left:2px solid var(--role);background:#080e11d6;border-radius:6px;align-items:baseline;gap:5px;padding:3px 8px 3px 6px;font-size:12.5px;line-height:1.25;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 2px 8px #0000004d}.eco-pins .pin .tag b{color:var(--role);font-size:10px;font-weight:400}.eco-pins .pin .tag small{color:var(--warm);font-size:11px}.eco-pins .pin:hover .dot,.eco-pins .pin:focus-visible .dot{transform:scale(1.3)}.eco-pins .pin:focus-visible{outline:none}.eco-pins .pin:focus-visible .tag{outline:2px solid var(--accent);outline-offset:2px}.eco-pins .pin.on .dot{box-shadow:0 0 0 2px #081014, 0 0 0 5px var(--text);transform:scale(1.35)}.eco-pins .pin.on .tag{background:var(--text);color:#081014;border-color:var(--text);border-left-color:var(--role)}.eco-pins .pin.on .tag small{color:#6a4a10}.eco-pins .pin.dim{filter:grayscale(.8)brightness(.65)}.eco-pins.compact .pin:not(.on):not(.labelled):not(:hover):not(:focus-visible) .tag,.eco-pins.compact .pin:not(.on):not(.labelled):not(:hover):not(:focus-visible) .stem{display:none}.eco-paths{z-index:11;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.eco-paths path{fill:none;stroke-width:4px;stroke-linecap:round;filter:drop-shadow(0 1px 2px #0000008c)}.eco-paths .k-food{stroke:#f7e6a8;stroke-dasharray:16 6;animation:1.6s linear infinite eco-paths}.eco-paths .k-energy{stroke:#f5a524;stroke-dasharray:6 9;stroke-width:5px;animation:1s linear infinite eco-paths}.eco-paths .k-matter{stroke:#c8a5e8;stroke-dasharray:9 9;animation:2.6s linear infinite eco-paths}.eco-paths .k-nutrient{stroke:#9fd889;stroke-dasharray:9 9;animation:2.6s linear infinite eco-paths}.eco-paths .faint{stroke-width:3px;opacity:.55}.eco-paths .faded{stroke-width:2.5px;opacity:.1;animation:none}.eco-paths.still path{animation:none}.eco-paths .h-food{fill:#f7e6a8}.eco-paths .h-energy{fill:#f5a524}.eco-paths .h-matter{fill:#c8a5e8}.eco-paths .h-nutrient{fill:#9fd889}@keyframes eco-paths{0%{stroke-dashoffset:44px}to{stroke-dashoffset:0}}.eco-sources{z-index:12;pointer-events:none;position:absolute;inset:0}.eco-sources .src{color:#1a1406;white-space:nowrap;background:#f7d58a;border-radius:999px;align-items:center;gap:6px;margin:-13px 0 0 -13px;padding:3px 10px 3px 4px;font-size:12.5px;transition:opacity .25s;display:inline-flex;position:absolute;top:0;left:0;box-shadow:0 2px 10px #00000059}.eco-sources .src i{background:radial-gradient(circle,#fff6d8 30%,#f5a524 70%);border-radius:50%;width:18px;height:18px}.eco-sources .src.vent{background:#f0b89a}.eco-sources .src.vent i{background:radial-gradient(circle,#ffe2c8 30%,#d8643a 70%)}.eco-sources .src.dead{background:#d9c4ec}.eco-sources .src.dead i{background:radial-gradient(circle,#f4ecfa 30%,#8a6a4a 70%)}.eco-sources .src.sub{background:#e6dcc0}.eco-sources .src.sub i{background:radial-gradient(circle,#fff 30%,#a89a70 70%)}.eco-abiotic{z-index:13;flex-direction:column;align-items:flex-start;gap:6px;font-size:12.5px;display:flex;position:absolute;bottom:84px;left:32px}.eco-abiotic .lab{color:var(--abio);font-size:12px}.eco-abiotic button{border-radius:4px;color:var(--muted)!important;background:#060c0e66!important;border:1px dashed #0000!important;padding:3px 9px!important}.eco-abiotic button b{color:var(--abio);font-weight:400}.eco-abiotic.em button{color:var(--text)!important;border-color:var(--abio)!important;background:#08141cbf!important}.eco-abiotic button.on{color:var(--text)!important;border-style:solid!important;border-color:var(--abio)!important}.eco-progress{z-index:20;text-align:left;flex-direction:column;gap:5px;font-size:12.5px;display:flex;position:absolute;top:84px;left:32px;color:var(--soft)!important}.eco-progress .track{gap:3px;display:flex}.eco-progress .track i{background:#ffffff2e;border-radius:2px;width:18px;height:4px}.eco-progress .track i.on{background:var(--accent)}.eco-lensbar{z-index:22;border:1px solid var(--line);background:#060c0ec7;border-radius:999px;align-items:center;gap:12px;max-width:calc(100vw - 472px);padding:6px 8px 6px 14px;display:flex;position:absolute;bottom:26px;left:calc(50vw - 212px);transform:translate(-50%)}.eco-lensbar .t{letter-spacing:.1em;color:var(--muted);font-size:11px;font-family:var(--mono)}.eco-lensbar [role=radiogroup]{scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.eco-lensbar button{white-space:nowrap;border-radius:999px;min-height:36px;color:var(--soft)!important;padding:7px 12px!important;font-size:13px!important}.eco-lensbar button.on{color:#081014!important;background:var(--accent)!important}.eco-movepad{z-index:22;pointer-events:none;align-items:flex-end;gap:12px;display:flex;position:absolute;bottom:84px;left:24px}.eco-movepad .pad{pointer-events:auto;grid-template-rows:repeat(2,38px);grid-template-columns:repeat(3,38px);grid-template-areas:"h f.""l b r";gap:4px;display:grid}.eco-movepad .a{touch-action:none;-webkit-user-select:none;user-select:none;border-radius:10px;width:38px;height:38px;font-size:14px;line-height:1;border:1px solid var(--line)!important;color:var(--soft)!important;background:#060c0ec7!important}.eco-movepad .a:active{background:var(--accent)!important;color:#081014!important}.eco-movepad .f{grid-area:f}.eco-movepad .l{grid-area:l}.eco-movepad .r{grid-area:r}.eco-movepad .b{grid-area:b}.eco-movepad .h{grid-area:h;font-size:17px}.eco-movepad .hint{max-width:300px;color:var(--muted);background:#060c0e9e;border-radius:8px;margin:0;padding:6px 10px;font-size:11.5px;line-height:1.45}.eco-dock{z-index:21;border:1px solid var(--line);background:#080e11ed;border-radius:12px;flex-direction:column;width:min(400px,100vw - 48px);animation:.35s both eco-rise;display:flex;position:absolute;top:74px;bottom:26px;right:24px}.eco-dock.collapsed{bottom:auto}.eco-dock .dock-head{border-bottom:1px solid var(--line);padding:12px 16px 0}.eco-dock .grab{display:none}.eco-dock .kick{color:var(--warm);font-size:11.5px}.eco-dock h2{font-family:var(--serif);margin:2px 0 6px;font-size:26px;font-weight:400;line-height:1.2}.eco-dock .tabs{scrollbar-width:none;gap:14px;font-size:13px;display:flex;overflow-x:auto}.eco-dock .tabs button{white-space:nowrap;padding:7px 0;color:var(--muted)!important;border-bottom:2px solid #0000!important}.eco-dock .tabs button[aria-selected=true]{color:var(--text)!important;border-bottom-color:var(--accent)!important}.eco-dock .dock-body{color:var(--soft);flex:1;padding:12px 16px 16px;font-size:14px;line-height:1.6;overflow:auto}.eco-dock h4{color:var(--faint);margin:14px 0 6px;font-size:12px;font-weight:500}.eco-dock .what{color:var(--text);margin:0 0 8px;font-size:15px}.eco-dock .small,.eco-app .small{color:var(--muted);font-size:12.5px;line-height:1.55}.eco-dock .who{margin-bottom:8px}.eco-dock .who .k{color:var(--faint);margin-bottom:4px;font-size:12px;display:block}.eco-dock .who .row{flex-wrap:wrap;gap:8px;display:flex}.eco-dock .who-i{text-align:center;flex-direction:column;align-items:center;gap:3px;width:64px;font-size:11.5px;line-height:1.3;display:flex;color:var(--soft)!important}.eco-dock .chain{flex-wrap:wrap;align-items:center;gap:2px;margin:0;display:flex}.eco-dock .chain b{color:var(--warm);font-weight:400}.eco-app .lk{color:var(--text)!important;border-bottom:1px solid var(--line2)!important}.eco-dock .ctl,.eco-web .ctl,.eco-lab .ctl,.eco-checks .ctl,.eco-after .ctl,.eco-welcome .ctl,.eco-coach .ctl{flex-wrap:wrap;align-items:center;gap:14px;margin-top:10px;display:flex}.eco-card{position:relative}.eco-card .x{width:32px;height:32px;font-size:20px;position:absolute;top:-6px;right:-6px;color:var(--muted)!important}.eco-card .head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.eco-card h3{font-family:var(--serif);color:var(--text);margin:0 0 2px;font-size:22px;font-weight:400}.eco-card dl{margin:0}.eco-card dl div{grid-template-columns:78px 1fr;gap:8px;margin:4px 0;display:grid}.eco-card dt{color:var(--faint);font-size:12px}.eco-card dd{margin:0}.eco-card .look,.eco-dock .look{color:var(--warm);margin:10px 0 0}.eco-card .look span{color:var(--faint);font-size:12px;display:block}.eco-card .rule,.eco-web .rule{color:#f7e6a8;margin:8px 0;font-size:12.5px}.eco-card .deep{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.eco-card .sci{color:var(--muted);font-size:13px}.eco-card .credit{color:var(--faint);font-size:11.5px}.eco-card .credit a{color:var(--muted)}.eco-web{z-index:25;background:#03080aeb;grid-template-rows:auto 1fr auto auto;padding:72px 440px 80px 32px;animation:.3s both eco-fade;display:grid;position:absolute;inset:0}.eco-web h2{font-family:var(--serif);margin:0 0 4px;font-size:28px;font-weight:400}.eco-web .what{color:var(--soft);max-width:720px;margin:0;font-size:14.5px}.eco-web .net{width:100%;height:100%;min-height:0}.eco-web .net .col{fill:var(--muted);font-size:14px}.eco-web .net .col.band{fill:var(--deco)}.eco-web .net .e{fill:none;stroke:#f7e6a8;stroke-width:2.2px;color:#f7e6a8;transition:opacity .25s}.eco-web .net .e.dead{stroke:var(--deco);color:var(--deco);stroke-dasharray:6 5}.eco-web .net .e.fade{opacity:.1}.eco-web .net:not(.still) .e.lit{stroke-dasharray:14 8;animation:1.6s linear infinite eco-flow}.eco-web .net .n{cursor:pointer;transition:opacity .25s}.eco-web .net .n.fade{opacity:.22}.eco-web .net .n .ring{fill:#16232b;stroke:var(--role,#aaa);stroke-width:3px}.eco-web .net .n.on .ring{stroke:var(--text);stroke-width:4px}.eco-web .net .n:focus-visible{outline:none}.eco-web .net .n:focus-visible .ring{stroke:var(--accent);stroke-width:5px}.eco-web .net .n .glyph{fill:var(--soft);font-size:20px}.eco-web .net .n .lab{fill:var(--text);paint-order:stroke;stroke:#03080ae6;stroke-width:4px;font-size:14px}.eco-web-list{-moz-columns:2;columns:2;color:var(--soft);font-size:14px;overflow:auto}.eco-web .pick{font-size:14px}.eco-web .note{max-width:760px}@keyframes eco-flow{to{stroke-dashoffset:-44px}}@keyframes eco-fade{0%{opacity:0}}.eco-energy .lead,.eco-matter .lead,.eco-adapt .lead{color:var(--text);margin:0 0 8px}.eco-energy ol{margin:8px 0;padding:0;list-style:none}.eco-energy li{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:8px 10px 14px;position:relative}.eco-energy li .k{color:var(--warm);font-size:12px;display:block}.eco-energy li .members{flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:13px;display:flex}.eco-energy li .m{align-items:center;gap:5px;display:inline-flex}.eco-energy li .src{color:#f7e6a8}.eco-energy li .flow{background:linear-gradient(#f7e6a8,#f7e6a800);width:2px;height:14px;position:absolute;bottom:-12px;left:50%}.eco-energy:not(.still) li .flow{animation:1.4s ease-in-out infinite eco-drip}.eco-energy li .heat{color:#e89a7a;font-size:11px;position:absolute;top:8px;right:10px}@keyframes eco-drip{50%{opacity:.5;transform:translateY(4px)}}.eco-matter .cycle{counter-reset:c;margin:8px 0;padding:0;list-style:none}.eco-matter .cycle li{border-left:2px solid var(--deco);margin-bottom:6px;padding:6px 10px 6px 34px;font-size:13px;position:relative}.eco-matter .cycle li:before{counter-increment:c;content:counter(c);color:var(--deco);font-size:12px;position:absolute;top:6px;left:8px}.eco-matter .cycle li:last-child:after{content:"↺ กลับไปที่ข้อ 1";color:var(--deco);margin-top:2px;font-size:11.5px;display:block}.eco-matter .cycle li .k{color:var(--text);font-size:12px;display:block}.eco-living .cols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.eco-living h4 b{color:var(--abio);font-weight:400}.eco-living .ask{color:var(--warm)}.eco-living .explain{border-left:2px solid var(--abio);padding-left:10px}.eco-adapt ul{margin:0;padding:0;list-style:none}.eco-adapt li{align-items:flex-start;gap:10px;margin-bottom:10px;font-size:13.5px;display:flex}.eco-lab .lab-pick{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.eco-lab .lab-pick button{border-radius:999px;border:1px solid var(--line)!important;padding:4px 10px!important;font-size:12.5px!important}.eco-lab .lab-pick button[aria-selected=true]{border-color:var(--accent)!important;color:var(--text)!important}.eco-lab .steps{color:var(--faint);gap:8px;margin:0 0 8px;padding:0;font-size:11.5px;list-style:none;display:flex}.eco-lab .steps li.on{color:var(--accent)}.eco-lab .q,.eco-checks .q{color:var(--text);margin:0 0 8px;font-size:15px}.eco-lab .cause{border-left:2px solid var(--warm);padding-left:10px}.eco-app .choices{flex-wrap:wrap;gap:6px;margin:6px 0 10px;display:flex}.eco-app .choices button,.eco-lab .evidence button,.eco-checks .classify button{text-align:left;border-radius:8px;min-height:40px;border:1px solid var(--line2)!important;color:var(--soft)!important;padding:8px 12px!important;font-size:13.5px!important}.eco-app .choices button.on,.eco-lab .evidence button.on{border-color:var(--accent)!important;color:var(--text)!important}.eco-app button.on.ok{border-color:#8fd8a8!important}.eco-app button.on.no{border-color:#e89a7a!important}.eco-app button:disabled{opacity:.45}.eco-lab .toggle,.eco-lab .slider{color:var(--text);flex-direction:column;gap:4px;margin-bottom:10px;font-size:14px;display:flex}.eco-lab .toggle{flex-direction:row;align-items:flex-start;gap:8px}.eco-lab .slider input{width:100%;accent-color:var(--accent)}.eco-lab .slider .ends{color:var(--muted);justify-content:space-between;font-size:11.5px;display:flex}.eco-lab .evidence{flex-direction:column;gap:6px;margin:6px 0;display:flex}.eco-lab .evidence small{color:var(--muted)}.eco-lab .story{padding-left:18px;font-size:13px}.eco-lab .story .m{color:var(--warm);margin-right:4px;font-size:12px}.eco-lab .disclaimer{border-top:1px solid var(--line);margin-top:12px;padding-top:8px}.eco-chart svg{width:100%;height:auto}.eco-chart .base{stroke:var(--line2);stroke-dasharray:4 4}.eco-chart .ax{fill:var(--muted);font-size:11px}.eco-chart polyline{fill:none;stroke-width:2.4px}.eco-chart .s0 polyline{stroke:#f7e6a8}.eco-chart .s1 polyline{stroke:#9fe0d0}.eco-chart .s2 polyline{stroke:#e8a0b8}.eco-chart .s3 polyline{stroke:#a8c4f0}.eco-chart .lab{fill:var(--text);font-size:12px}.eco-chart figcaption,.eco-toxin figcaption{color:var(--muted);font-size:12px}.eco-toxin ul{margin:6px 0;padding:0;list-style:none}.eco-toxin li{grid-template-columns:130px 1fr 36px;align-items:center;gap:8px;margin-bottom:5px;font-size:13px;display:grid}.eco-toxin .bar{background:#ffffff14;border-radius:3px;height:12px;overflow:hidden}.eco-toxin .bar i{background:#e8a07f;height:100%;display:block}.eco-toxin .v{text-align:right;color:var(--muted)}.eco-checks .dots{gap:4px;margin:6px 0 10px;display:flex}.eco-checks .dots button{border-radius:50%;width:30px;height:30px;border:1px solid var(--line2)!important;font-size:12px!important}.eco-checks .dots button[aria-selected=true]{border-color:var(--accent)!important;color:var(--text)!important}.eco-checks .dots button.ok{color:#8fd8a8!important}.eco-checks .classify{margin:0 0 8px;padding:0;list-style:none}.eco-checks .classify li{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.eco-checks .classify li span{flex:120px}.eco-checks .feedback{font-size:13.5px}.eco-checks .feedback.ok{color:#8fd8a8}.eco-checks .feedback.no{color:#f0b89a}.eco-checks .orderline{color:var(--text);font-size:14px}.eco-route{margin:0;padding:0;list-style:none}.eco-route li{border-bottom:1px solid var(--line);grid-template-columns:26px 1fr auto;align-items:start;gap:8px;padding:8px 0;font-size:13.5px;display:grid}.eco-route li .n{border:1px solid var(--line2);border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.eco-route li.ok .n{background:var(--accent);color:#081014;border-color:var(--accent)}.eco-route li small{color:var(--faint);font-size:11.5px;display:block}.eco-summary h3{font-family:var(--serif);color:var(--text);margin:0 0 8px;font-size:20px;font-weight:400}.eco-summary ul{margin:0;padding:0;list-style:none}.eco-summary li{color:var(--muted);padding:3px 0;font-size:14px}.eco-summary li.ok{color:var(--text)}.eco-summary li.ok span{color:#8fd8a8}.eco-after{z-index:19;border:1px solid var(--line);background:#080e11ed;border-radius:12px;width:min(420px,100vw - 64px);padding:16px 18px;position:absolute;bottom:30px;left:32px}.eco-after .x{width:32px;height:32px;font-size:20px;position:absolute;top:6px;right:8px;color:var(--muted)!important}.eco-diagram{z-index:1;background:#06121a;position:absolute;inset:0}.eco-diagram svg{width:100%;height:100%;position:absolute;inset:0}.eco-diagram .dlab{fill:#f4f8f9eb;font-size:20px;font-family:var(--sans);paint-order:stroke;stroke:#040c1099;stroke-width:5px;stroke-linejoin:round}.eco-diagram .dlab.small{fill:#deecf2d9;font-size:16px}.eco-diagram:not(.still) .flow path{animation:2.6s linear infinite eco-stream}.eco-diagram:not(.still) .swim{animation:9s ease-in-out infinite alternate eco-swim}.eco-diagram:not(.still) .sway{transform-box:fill-box;transform-origin:bottom;animation:6s ease-in-out infinite alternate eco-sway}.eco-diagram:not(.still) .snow circle{animation:14s linear infinite eco-snow}.eco-diagram:not(.still) .plume{transform-box:fill-box;transform-origin:bottom;animation:5s ease-in-out infinite alternate eco-plume}.eco-diagram .eco-dtitle{color:var(--soft);text-align:center;background:#040a0e8c;border-radius:999px;max-width:calc(100vw - 32px);margin:0;padding:4px 12px;font-size:13px;position:absolute;top:76px;left:50%;transform:translate(-50%)}.eco-diagram.plain{background:radial-gradient(at 50% 40%,#173028,#050b0d 70%);place-items:center;display:grid}.eco-diagram.plain p{font-family:var(--serif);color:#eef2f340;font-size:48px}@keyframes eco-stream{to{stroke-dashoffset:-100px}}@keyframes eco-swim{to{transform:translate(40px)}}@keyframes eco-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2.5deg)}}@keyframes eco-snow{to{transform:translateY(180px)}}@keyframes eco-plume{to{transform:scaleY(1.12)skew(3deg)}}.eco-welcome{z-index:40;border:1px solid var(--line2);text-align:center;background:#080e11eb;border-radius:14px;width:min(460px,100vw - 32px);padding:24px 26px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.eco-welcome h2{font-family:var(--serif);margin:0 0 8px;font-size:30px;font-weight:400}.eco-welcome p{color:var(--soft);margin:0;line-height:1.6}.eco-welcome .ctl{justify-content:center}.eco-coach{z-index:41;color:#0b1a18;background:#e9f7f2;border-radius:10px;width:min(340px,100vw - 24px);padding:12px 14px;transition:opacity .2s;position:fixed;top:0;left:0;box-shadow:0 8px 30px #00000073}.eco-coach p{margin:0;font-size:14.5px;line-height:1.5}.eco-coach .ctl{gap:12px;margin-top:8px;font-size:13px}.eco-coach .n{color:#3d5a55;font-size:12px}.eco-coach .tbtn{color:#0b1a18!important}.eco-coach-ring{z-index:40;border:2px solid var(--accent);pointer-events:none;border-radius:10px;position:fixed;top:0;left:0;box-shadow:0 0 0 4px #8fe0cf40}.eco-help{z-index:35;border:1px solid var(--line2);width:min(400px,100vw - 32px);max-height:calc(100vh - 100px);color:var(--soft);background:#080e11f0;border-radius:12px;padding:16px 18px;font-size:14px;line-height:1.6;position:absolute;top:64px;right:24px;overflow:auto}.eco-help h2{font-family:var(--serif);margin:0 0 8px;font-size:22px;font-weight:400}.eco-help .x{width:32px;height:32px;font-size:20px;position:absolute;top:6px;right:8px;color:var(--muted)!important}.eco-help summary{cursor:pointer;color:var(--text);padding:6px 0}.eco-help details p{margin:0 0 8px}.in-flat .eco-vignette{display:none}@media (max-width:820px){.eco-dock{border-bottom:0;border-radius:14px 14px 0 0;width:100%;height:50vh;inset:auto 0 0}.eco-dock.collapsed{height:auto}.eco-dock .grab{justify-content:center;width:100%;min-height:28px;padding:6px 0 4px;display:flex}.eco-dock .grab i{background:var(--line2);border-radius:2px;width:44px;height:4px}.eco-dock .dock-head{padding:0 14px}.eco-dock h2{font-size:21px}.eco-lensbar{max-width:none;padding:4px 6px;bottom:calc(50vh + 8px);left:8px;right:8px;transform:none}.eco-lensbar .t{display:none}.eco-movepad{bottom:calc(50vh + 60px);left:8px}.eco-app:has(.eco-dock.collapsed) .eco-movepad{bottom:172px}.eco-movepad .pad{grid-template-rows:repeat(2,34px);grid-template-columns:repeat(3,34px)}.eco-movepad .a{width:34px;height:34px}.eco-dock.collapsed~.eco-lensbar{bottom:120px}.eco-app:has(.eco-dock.collapsed) .eco-lensbar{bottom:120px}.eco-abiotic{scrollbar-width:none;flex-direction:row;inset:118px 8px auto;overflow-x:auto}.eco-abiotic button{white-space:nowrap}.eco-progress{top:72px;left:16px}.eco-web{grid-template-rows:auto 1fr auto auto;padding:64px 12px 12px}.eco-web h2{font-size:21px}.eco-web-list{-moz-columns:1;columns:1}.eco-after{border-radius:14px 14px 0 0;width:100%;bottom:0;left:0;right:0}.eco-help{width:auto;left:8px;right:8px}.eco-diagram .eco-dtitle{font-size:12px;top:64px}.eco-diagram .dlab{font-size:26px}.eco-toxin li{grid-template-columns:96px 1fr 32px}}@media (prefers-reduced-motion:reduce){.eco-web .net .e.lit,.eco-energy li .flow,.eco-diagram *{animation:none!important}}@media (max-width:820px){.eco-diagram.fit{background:#07131b}.eco-diagram.fit svg{height:calc(50vh - 150px);top:108px}.eco-diagram.fit .eco-dtitle{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.eco-app:has(.eco-diagram.fit) .eco-pins .pin .tag{padding:2px 6px 2px 5px;font-size:11.5px}.eco-pins.compact .pin.labelled:not(.on):not(:focus-visible) .tag,.eco-pins.compact .pin.labelled:not(.on):not(:focus-visible) .stem{display:none}}.eco-app.clean>:not(.eco-canvas):not(.eco-diagram):not(.eco-vignette):not(.eco-white){display:none!important}.pathkey .keys{color:var(--soft);flex-wrap:wrap;gap:6px 14px;margin:6px 0;font-size:12.5px;display:flex}.pathkey .k{align-items:center;gap:6px;display:inline-flex}.pathkey .k i{border-radius:2px;width:22px;height:4px}.pathkey .k.food i{background:#f7e6a8}.pathkey .k.energy i{background:#f5a524}.pathkey .k.matter i{background:repeating-linear-gradient(90deg,#c8a5e8 0 6px,#0000 6px 10px)}.pathkey .k.nutrient i{background:repeating-linear-gradient(90deg,#9fd889 0 6px,#0000 6px 10px)}.pathkey .links{color:var(--soft);margin:4px 0 10px;padding-left:18px;font-size:13px}.pathkey .links li{margin:2px 0}.eco-mode{white-space:nowrap;vertical-align:middle;border:1px solid;border-radius:999px;align-items:center;gap:5px;padding:3px 8px 3px 5px;font-size:12px;line-height:1;display:inline-flex}.eco-mode svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round;width:14px;height:14px}.eco-mode.m3d{color:#9fe0c8;background:#9fe0c814;border-color:#9fe0c873}.eco-mode.msec{color:#9cc8f0;background:#9cc8f014;border-color:#9cc8f073}.eco-mode.compact{opacity:.85;background:0 0;border:0;margin-left:auto;padding:2px}.eco-biome h2+.eco-mode{margin:2px 0 8px}.eco-sheet .list button{align-items:center;width:100%;display:flex}.eco-mode-key{color:var(--soft);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:4px 0 12px;font-size:12.5px;display:flex}.compare .col>.eco-mode{margin-bottom:6px}.eco-viewswitch,.eco-rolefilter{background:#ffffff0f;border-radius:999px;flex-wrap:wrap;gap:4px;margin:2px 0 10px;padding:3px;display:inline-flex}.eco-viewswitch button,.eco-rolefilter button{min-height:34px;color:var(--soft);border-radius:999px;padding:6px 12px;font-size:13px}.eco-viewswitch button[aria-pressed=true],.eco-rolefilter button[aria-checked=true]{background:var(--accent);color:#081014}.eco-rolefilter{width:fit-content;display:flex}.pathkey .links li.core{color:var(--text)}.eco-lab-cta{z-index:2;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#0a111400,#0a1114f5 22%);gap:8px;margin:14px -18px -16px;display:grid;position:sticky;bottom:0}.eco-lab-cta .hint{color:var(--warm);margin:0;font-size:12.5px}.eco-lab-cta .primary{color:#081014;background:var(--accent);border-radius:14px;width:100%;min-height:48px;font-size:15px;font-weight:600;transition:transform .15s,opacity .2s;box-shadow:0 6px 18px #00000059}.eco-lab-cta .primary:not(:disabled):hover{transform:translateY(-1px)}.eco-lab-cta .primary:disabled{color:var(--muted);box-shadow:none;background:#ffffff1a}.eco-lab-cta .secondary{justify-content:center;gap:16px;font-size:13px;display:flex}.eco-app{--panel:#0b1115d6;--panel-solid:#0b1115f0;--panel-edge:#ffffff12;--panel-shadow:0 18px 50px #00000061, 0 2px 8px #00000040}.eco-biome,.eco-sheet,.eco-dock,.eco-organism,.eco-latitude,.eco-help,.eco-credits,.eco-after,.eco-legend,.eco-welcome{box-shadow:var(--panel-shadow);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--panel-edge)!important;background:var(--panel)!important;border-radius:22px!important}.eco-dock,.eco-sheet,.eco-biome{background:var(--panel-solid)!important}.eco-biome{padding:22px 22px 18px!important}.eco-legend{border-radius:18px!important;padding:14px 16px!important}.eco-tip,.eco-coach{border-radius:14px!important}.eco-coach-ring{border-radius:16px!important}.eco-minimap{border-radius:12px!important}.eco-biome .pill,.eco-sheet .pill{border-radius:999px;margin:3px 4px 3px 0;padding:5px 12px}.eco-biome .pill.more{opacity:.8;border-style:dashed}.eco-dock .tabs button{border-radius:999px;padding:6px 12px}.eco-dock .dock-body{padding:16px 18px}.eco-dock .dock-body h4{margin:18px 0 8px}.eco-tipnote{align-items:baseline;gap:10px;font-size:12.5px;display:flex;border:0!important;border-left:2px solid var(--accent)!important;color:var(--soft)!important;background:0 0!important;border-radius:0!important;margin:0 0 12px!important;padding:2px 0 2px 10px!important}.eco-tipnote button{font-size:12px;text-decoration:underline;color:var(--accent)!important;background:0 0!important;padding:0!important}.eco-dock details.kind{color:var(--soft);margin:6px 0 4px;font-size:13px}.eco-dock details.kind summary{cursor:pointer;color:var(--muted)}.eco-more .deeper{color:var(--soft);margin-top:6px;font-size:13.5px;line-height:1.6;display:block}.eco-living .group{background:#ffffff09;border-radius:16px;margin-top:14px;padding:14px 16px}.eco-living .group h4{align-items:baseline;gap:8px;margin:0 0 10px;font-size:15px;display:flex}.eco-living .group h4 small{color:var(--muted);font-weight:400}.eco-living .group.living h4 b{color:var(--prod)}.eco-living .group.nonliving h4 b{color:var(--abio)}.eco-living .role{margin:10px 0 0}.eco-living .role .k{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.eco-living ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0;padding:0;list-style:none;display:grid}.eco-living li button{text-align:left;width:100%;color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:4px 6px;font-size:14px;line-height:1.35;display:flex}.eco-living li button:hover,.eco-living li button.on{background:#ffffff12}.eco-living .nonliving li button i{width:26px;height:26px;color:var(--abio);background:#8fc8f01f;border-radius:8px;flex:none;place-items:center;font-style:normal;display:grid}.eco-living .explain{margin:12px 0 0;line-height:1.6}@media (max-width:820px){.eco-living ul{grid-template-columns:1fr;gap:10px}.eco-biome,.eco-sheet,.eco-dock{border-radius:22px 22px 0 0!important}}.eco-poster{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;background:#ffffff0d;border-radius:14px;width:100%;height:auto;margin:10px 0 8px;display:block}.eco-poster.thumb{aspect-ratio:auto;border-radius:6px;flex:none;width:52px;height:30px;margin:0 8px 0 0}.eco-sheet .list li button{align-items:center;display:flex}.eco-viewswitch button[aria-checked=true]{background:var(--accent);color:#081014}.eco-webguide{margin-bottom:8px}.eco-webguide .lead{color:var(--text);margin:0 0 8px;font-size:14px}.eco-webguide .stepper{color:var(--soft);align-items:center;gap:10px;margin:4px 0 8px;font-size:13px;display:flex}.eco-webguide .stepper .tbtn{min-width:40px;min-height:36px;padding:4px 10px}.eco-webguide .steps{flex-wrap:wrap;align-items:flex-start;gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.eco-webguide .steps li{align-items:center;gap:4px;display:flex}.eco-webguide .steps b{color:#ffd65a;margin-top:-14px;font-size:16px;font-weight:400}.eco-webguide .who-i{text-align:center;flex-direction:column;align-items:center;gap:3px;width:64px;font-size:11.5px;line-height:1.3;display:flex;color:var(--soft)!important}.eco-webguide .who-i.src{justify-content:center;min-height:48px;color:var(--warm)!important}.eco-webguide .row{flex-wrap:wrap;gap:8px;margin:2px 0 8px;display:flex}.eco-webguide .k{color:var(--soft);align-items:center;gap:6px;margin:6px 0 2px;font-size:12.5px;display:inline-flex}.eco-webguide .k i{border-radius:3px;width:22px;height:5px}.eco-webguide .k.prey i{background:#7ee08f}.eco-webguide .k.predator i{background:#ff9466}.eco-webguide .k.chain i{background:#ffd65a}.eco-webguide .keys{flex-wrap:wrap;gap:4px 14px;margin:4px 0 0;display:flex}.eco-card dt.prey:before,.eco-card dt.predator:before{content:"";vertical-align:middle;border-radius:2px;width:14px;height:4px;margin-right:6px;display:inline-block}.eco-card dt.prey:before{background:#7ee08f}.eco-card dt.predator:before{background:#ff9466}.eco-paths .k-prey,.eco-paths .k-predator,.eco-paths .k-chain{stroke-width:5.5px;stroke-dasharray:18 6;animation:1.6s linear infinite eco-paths}.eco-paths .k-prey{stroke:#7ee08f}.eco-paths .k-predator{stroke:#ff9466}.eco-paths .k-chain{stroke:#ffd65a}.eco-paths .h-prey{fill:#7ee08f}.eco-paths .h-predator{fill:#ff9466}.eco-paths .h-chain{fill:#ffd65a}.eco-paths.still .k-prey,.eco-paths.still .k-predator,.eco-paths.still .k-chain{animation:none}.eco-pins.quiet .pin.dim:not(:hover):not(:focus-visible) .tag,.eco-pins.quiet .pin.dim:not(:hover):not(:focus-visible) .stem{display:none}.eco-web .net .e.prey{stroke:#7ee08f;color:#7ee08f;stroke-width:3.2px;stroke-dasharray:none}.eco-web .net .e.predator{stroke:#ff9466;color:#ff9466;stroke-width:3.2px;stroke-dasharray:none}
