:root{--eco-on-accent: #ffffff;--eco-on-bubble: #101010;--eco-water-top: #f8fcff;--eco-water-bottom: #cfe8f7;--eco-c-tx: #e8644c;--eco-c-sc: #e0a100;--eco-c-reads: #dc5fa6;--eco-c-map: #2b95d6;--eco-c-index: #12a594;--eco-c-dbg: #55a84a;--eco-c-lib: #7285e6;--eco-c-legacy: #a877e0;--eco-c-papers: #8b96a3;--eco-c-lab: #a3a02a}@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--eco-on-accent: #0f1115;--eco-on-bubble: #0f1115;--eco-water-top: #143a52;--eco-water-bottom: #14161b;--eco-c-tx: #ff8f73;--eco-c-sc: #f4c659;--eco-c-reads: #f29ac6;--eco-c-map: #56b8f0;--eco-c-index: #4fd1bd;--eco-c-dbg: #86d68a;--eco-c-lib: #9aaaff;--eco-c-legacy: #c2a1f7;--eco-c-papers: #8e9aa8;--eco-c-lab: #cfd062}}:root[data-theme="light"]{--eco-on-accent: #ffffff;--eco-on-bubble: #101010;--eco-water-top: #f8fcff;--eco-water-bottom: #cfe8f7;--eco-c-tx: #e8644c;--eco-c-sc: #e0a100;--eco-c-reads: #dc5fa6;--eco-c-map: #2b95d6;--eco-c-index: #12a594;--eco-c-dbg: #55a84a;--eco-c-lib: #7285e6;--eco-c-legacy: #a877e0;--eco-c-papers: #8b96a3;--eco-c-lab: #a3a02a}:root[data-theme="dark"]{--eco-on-accent: #0f1115;--eco-on-bubble: #0f1115;--eco-water-top: #143a52;--eco-water-bottom: #14161b;--eco-c-tx: #ff8f73;--eco-c-sc: #f4c659;--eco-c-reads: #f29ac6;--eco-c-map: #56b8f0;--eco-c-index: #4fd1bd;--eco-c-dbg: #86d68a;--eco-c-lib: #9aaaff;--eco-c-legacy: #c2a1f7;--eco-c-papers: #8e9aa8;--eco-c-lab: #cfd062}.eco{position:relative;left:50%;width:calc(100vw - 36px);max-width:1240px;transform:translateX(-50%);display:flex;flex-direction:column;gap:14px;margin:30px 0 10px;color:var(--text, #101010);text-align:left}.eco *,.eco *::before,.eco *::after{box-sizing:border-box}.eco button,.eco input{font:inherit;color:inherit}.eco :focus-visible{outline:2px solid var(--accent, #03a9f4);outline-offset:2px}.eco [hidden]{display:none !important}.eco p{text-align:left}.eco .eco_bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.eco .eco_search{flex:1 1 240px;max-width:380px;position:relative}.eco .eco_search input{width:100%;padding:9px 12px 9px 34px;border:solid 1px var(--border, #d0d0d0);border-radius:8px;background:var(--surface, #fff);font:14px "Poppins",sans-serif}.eco .eco_search input::placeholder{color:var(--text-faint, #a0a0a0)}.eco .eco_search i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint, #a0a0a0);font-size:13px}.eco .eco_seg{display:flex;flex-wrap:wrap;gap:2px;padding:3px;border:solid 1px var(--border, #d0d0d0);border-radius:8px;background:var(--surface-alt, #f8f8f8)}.eco .eco_seg button{padding:6px 11px;border:0;border-radius:6px;background:none;color:var(--text-muted, #404040);font:500 12px "Poppins",sans-serif;text-transform:uppercase;letter-spacing:1px;cursor:pointer}.eco .eco_seg button:hover{color:var(--text, #101010)}.eco .eco_seg button[aria-pressed="true"]{background:var(--accent, #03a9f4);color:var(--eco-on-accent)}.eco .eco_count{color:var(--text-faint, #a0a0a0);font:12px "Cousine",monospace}.eco .eco_tasks{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}.eco .eco_tasks_lead{font:600 14px "Poppins",sans-serif}.eco .eco_tasks_row{display:flex;flex-wrap:wrap;gap:6px}.eco .eco_task{padding:6px 12px;border:solid 1px var(--accent, #03a9f4);border-radius:8px;background:var(--surface, #fff);color:var(--accent, #03a9f4);font:500 13px "Poppins",sans-serif;cursor:pointer;transition:background 0.25s ease,color 0.25s ease}.eco .eco_task:hover{background:var(--accent-soft, #b3e5fc);color:var(--text, #101010)}.eco .eco_task[aria-pressed="true"]{background:var(--accent, #03a9f4);color:var(--eco-on-accent)}.eco .eco_task_blurb{margin:0;padding:10px 14px;border-left:solid 3px var(--accent, #03a9f4);border-radius:0 8px 8px 0;background:var(--accent-soft, #b3e5fc);font:15px/1.5 "Lora",serif}.eco .eco_chips{display:flex;flex-wrap:wrap;gap:6px}.eco .eco_chip{display:inline-flex;align-items:center;gap:7px;padding:4px 11px 4px 9px;border:solid 1px var(--border, #d0d0d0);border-radius:999px;background:var(--surface, #fff);color:var(--text-muted, #404040);font:13px "Poppins",sans-serif;cursor:pointer}.eco .eco_chip i{width:10px;height:10px;border-radius:50%;background:var(--c)}.eco .eco_chip b{font:400 11px "Cousine",monospace;color:var(--text-faint, #a0a0a0)}.eco .eco_chip:hover{color:var(--text, #101010);border-color:var(--text-faint, #a0a0a0)}.eco .eco_chip[aria-pressed="true"]{color:var(--text, #101010);border-color:var(--c);background:color-mix(in srgb, var(--c) 18%, var(--surface))}.eco .eco_main{display:grid;grid-template-columns:minmax(0, 1fr) 250px;gap:14px;align-items:start}.eco .eco_stage{position:relative;height:700px;overflow:hidden;border:solid 1px var(--border, #d0d0d0);border-radius:8px;background:linear-gradient(180deg, var(--eco-water-top) 0%, var(--eco-water-bottom) 100%);box-shadow:var(--shadow, 0 0 10px 0 #00000040)}.eco .eco_stage svg{display:block;width:100%;height:100%;touch-action:manipulation}.eco .eco_stage.eco_list{height:auto;max-height:700px;overflow:auto;background:var(--surface, #fff)}.eco .eco_stage.eco_list svg{display:none}.eco .eco_stage:not(.eco_list) .eco_tablewrap{display:none}.eco .eco_node{cursor:pointer;transition:opacity 0.25s ease}.eco .eco_node circle.eco_b{stroke:var(--surface, #fff);stroke-width:1.25}.eco .eco_node .eco_halo{fill:none;stroke:var(--text, #101010);stroke-opacity:0.5;stroke-width:1;stroke-dasharray:2 3}.eco .eco_node text{font-family:"Cousine",monospace;font-weight:700;pointer-events:none;text-anchor:middle}.eco .eco_node text.eco_in{fill:var(--eco-on-bubble)}.eco .eco_node text.eco_out{fill:var(--text, #101010);font-weight:400;paint-order:stroke;stroke:var(--eco-water-top);stroke-opacity:0.85;stroke-width:3px;stroke-linejoin:round}.eco .eco_node.eco_soft{opacity:0.28}.eco .eco_node.eco_dim{opacity:0.07;pointer-events:none}.eco .eco_node.eco_hot circle.eco_b,.eco .eco_node:hover circle.eco_b,.eco .eco_node:focus-visible circle.eco_b{stroke:var(--text, #101010);stroke-width:2.5}.eco .eco_node:focus-visible{outline:none}.eco .eco_link{fill:none;stroke:var(--text-muted, #404040);stroke-width:1.5;stroke-opacity:0.75;pointer-events:none}.eco .eco_link.eco_uses{stroke-dasharray:4 4}.eco #eco-arrow path{fill:var(--text-muted, #404040)}.eco .eco_guide{pointer-events:none}.eco .eco_guide line{stroke:var(--text-faint, #a0a0a0);stroke-opacity:0.45;stroke-dasharray:1 5}.eco .eco_guide text{fill:var(--text-muted, #404040);font:11px "Cousine",monospace;paint-order:stroke;stroke:var(--eco-water-top);stroke-opacity:0.7;stroke-width:3px;stroke-linejoin:round}.eco .eco_guide text.eco_h{fill:var(--text, #101010);font:600 13px "Poppins",sans-serif}.eco .eco_guide text.eco_n{fill:var(--text-faint, #a0a0a0)}.eco .eco_tip,.eco .eco_card{position:absolute;z-index:5;border:solid 1px var(--border, #d0d0d0);border-radius:8px;background:var(--surface, #fff);box-shadow:var(--shadow, 0 0 10px 0 #00000040)}.eco .eco_tip{max-width:300px;padding:8px 11px;font:13.5px/1.4 "Lora",serif;pointer-events:none}.eco .eco_tip strong{font:700 13px "Cousine",monospace}.eco .eco_tip p{margin:3px 0 4px;color:var(--text-muted, #404040)}.eco .eco_tip small{color:var(--text-faint, #a0a0a0);font:11px "Cousine",monospace}.eco .eco_card{width:340px;max-width:calc(100% - 20px);padding:14px 16px}.eco .eco_card .eco_card_title{margin:0 26px 6px 0;font:600 18px "Poppins",sans-serif;overflow-wrap:anywhere}.eco .eco_card .eco_cat{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted, #404040);font:12px "Poppins",sans-serif}.eco .eco_card .eco_cat i{width:9px;height:9px;border-radius:50%;background:var(--c)}.eco .eco_card .eco_status{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:var(--accent-soft, #b3e5fc);font:500 11px "Poppins",sans-serif;text-transform:uppercase;letter-spacing:0.5px}.eco .eco_card p{margin:9px 0;font:15px/1.5 "Lora",serif}.eco .eco_card p.eco_none{color:var(--text-faint, #a0a0a0);font-style:italic}.eco .eco_card dl{display:grid;grid-template-columns:repeat(4, auto);gap:2px 14px;justify-content:start;margin:10px 0;font:12px "Cousine",monospace}.eco .eco_card dt{grid-row:1;color:var(--text-faint, #a0a0a0)}.eco .eco_card dd{grid-row:2;margin:0;font-variant-numeric:tabular-nums}.eco .eco_card .eco_rel{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:6px 0;font:12px "Poppins",sans-serif;color:var(--text-muted, #404040)}.eco .eco_card .eco_rel span{margin-right:2px}.eco .eco_card .eco_rel button{padding:1px 8px;border:solid 1px var(--border, #d0d0d0);border-radius:999px;background:var(--surface-alt, #f8f8f8);font:12px "Cousine",monospace;cursor:pointer}.eco .eco_card .eco_rel button:hover{border-color:var(--accent, #03a9f4);color:var(--accent, #03a9f4)}.eco .eco_card .eco_topics{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.eco .eco_card .eco_topics span{padding:1px 8px;border-radius:999px;background:var(--accent-soft, #b3e5fc);font:11px "Poppins",sans-serif}.eco .eco_card .eco_go{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.eco .eco_card .eco_go a{display:inline-block;padding:7px 12px;border-radius:8px;font:600 13px "Poppins",sans-serif;text-decoration:none}.eco .eco_card .eco_go a.eco_gh{background:var(--accent, #03a9f4);color:var(--eco-on-accent)}.eco .eco_card .eco_go a.eco_hp{border:solid 1px var(--border, #d0d0d0);color:var(--text, #101010)}.eco .eco_card .eco_x{position:absolute;top:8px;right:8px;padding:4px 8px;border:0;border-radius:6px;background:none;color:var(--text-muted, #404040);font-size:18px;line-height:1;cursor:pointer}.eco .eco_card .eco_x:hover{background:var(--surface-alt, #f8f8f8);color:var(--text, #101010)}.eco .eco_aside{padding:14px 10px 10px;border:solid 1px var(--border, #d0d0d0);border-radius:8px;background:var(--surface, #fff);box-shadow:var(--shadow, 0 0 10px 0 #00000040)}.eco .eco_aside .eco_aside_title{margin:0 6px 2px;font:600 14px "Poppins",sans-serif}.eco .eco_aside .eco_aside_how{margin:0 6px 8px;color:var(--text-faint, #a0a0a0);font:12px/1.4 "Poppins",sans-serif}.eco .eco_aside ol{display:grid;gap:1px;margin:0;padding:0;list-style:none}.eco .eco_aside li{margin:0}.eco .eco_aside li button{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;width:100%;padding:6px;border:0;border-radius:6px;background:none;text-align:left;cursor:pointer}.eco .eco_aside li button:hover{background:var(--surface-alt, #f8f8f8)}.eco .eco_aside li button i{width:9px;height:9px;border-radius:50%;background:var(--c)}.eco .eco_aside li button span{overflow:hidden;font:13px "Cousine",monospace;text-overflow:ellipsis;white-space:nowrap}.eco .eco_aside li button b{color:var(--text-faint, #a0a0a0);font:400 11px "Cousine",monospace;font-variant-numeric:tabular-nums}.eco .eco_key{display:grid;gap:5px;margin:12px 6px 2px;padding-top:10px;border-top:solid 1px var(--border, #d0d0d0);color:var(--text-muted, #404040);font:12px/1.4 "Poppins",sans-serif}.eco .eco_key div{display:flex;align-items:center;gap:8px}.eco .eco_key svg{flex:none;color:var(--text-faint, #a0a0a0)}.eco table{width:100%;margin:0;border-collapse:collapse;font:14px/1.45 "Lora",serif}.eco th,.eco td{padding:7px 10px;border:0;border-bottom:solid 1px var(--border, #d0d0d0);text-align:left;vertical-align:top}.eco th{position:sticky;top:0;z-index:1;background:var(--surface-alt, #f8f8f8);font:600 12px "Poppins",sans-serif;text-transform:uppercase;letter-spacing:0.5px;white-space:nowrap}.eco th button{padding:0;border:0;background:none;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.eco th button:hover{color:var(--accent, #03a9f4)}.eco td.eco_name a{font:700 13px "Cousine",monospace;text-decoration:none}.eco td.eco_name a:hover{text-decoration:underline}.eco td.eco_num,.eco th.eco_num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.eco td.eco_num{font:12px "Cousine",monospace}.eco td.eco_d{min-width:220px;color:var(--text-muted, #404040)}.eco td .eco_cat{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted, #404040);font:13px "Poppins",sans-serif;white-space:nowrap}.eco td .eco_cat i{width:8px;height:8px;border-radius:50%;background:var(--c)}.eco tr:hover td{background:var(--surface-alt, #f8f8f8)}.eco .eco_empty{padding:30px;color:var(--text-muted, #404040);text-align:center}.eco .eco_foot{margin:0;color:var(--text-faint, #a0a0a0);font:12px "Poppins",sans-serif}@media (max-width: 900px){.eco .eco_main{grid-template-columns:1fr}.eco .eco_stage{height:620px}}@media (prefers-reduced-motion: reduce){.eco .eco_node{transition:none}}
