.ecology-workspace{min-width:0}.ecology-biome-fill{fill-opacity:.09;pointer-events:none}.ecology-graph[data-detail=biomes] .ecology-biome-fill{fill-opacity:.16}.ecology-biome-border{fill:none;stroke-width:1.6px;stroke-opacity:.7;vector-effect:non-scaling-stroke;cursor:pointer;pointer-events:stroke;outline:none}.ecology-biome-region.selected .ecology-biome-border,.ecology-biome-border:is(:hover,:focus-visible){stroke-width:3px;stroke-opacity:1}.ecology-biome-region.selected .ecology-biome-fill{fill-opacity:.18}.ecology-biome-label{cursor:pointer;outline:none}.ecology-biome-label rect{fill:var(--panel);fill-opacity:.94;stroke-opacity:.5}.ecology-biome-label:is(:hover,:focus-visible) rect{stroke-opacity:1;stroke-width:2px}.ecology-biome-label text{font-family:var(--sans);pointer-events:none;font-size:12px;font-weight:500}.ecology-shared-membership{pointer-events:none}.ecology-inspector-title>button+button{margin-top:8px}.ecology-node-connect{z-index:3;background:var(--lavender);color:var(--accent-ink,#24212d);border-radius:20px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 3px 15px #0003}.ecology-connect-banner{z-index:4;background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex;position:absolute;top:100px;left:20px;right:20px;box-shadow:0 6px 20px #0003}.ecology-connect-banner select{width:auto;max-width:180px;font-size:12px}.ecology-connect-banner button{padding:7px 10px;font-size:12px}.ecology-connection-preview{stroke:var(--lavender);stroke-width:2px;stroke-dasharray:6 5;fill:none;vector-effect:non-scaling-stroke;pointer-events:none}.ecology-node.connection-target .ecology-node-halo{opacity:.65;stroke-dasharray:3 3}.ecology-node.connection-target:hover .ecology-node-halo{opacity:1;stroke-dasharray:none;stroke-width:3px}@media (max-width:700px){.ecology-connect-banner{top:132px;left:12px;right:12px}}.ecology-toolbar{gap:16px;min-height:56px;padding:10px 20px}.ecology-toolbar-left{align-items:center;gap:8px;min-width:0;display:flex}.ecology-toolbar-left>button{white-space:nowrap;min-height:34px;font-size:12px}.ecology-toolbar .workspace-sharing-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.ecology-panels{background:var(--bg)}.ecology-library,.ecology-inspector{flex-direction:column;display:flex;overflow:hidden}.ecology-library-filters{gap:10px;padding:16px 12px;display:grid}.ecology-search{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.ecology-search input{background:0 0;border:0;width:100%;min-width:0;padding:10px 0;font-size:12px}.ecology-library-filters>select{width:100%;font-size:12px}.ecology-library-scroll{flex:1;min-height:0;padding:0 10px 16px;overflow-y:auto}.ecology-library-section>summary{cursor:pointer;padding:12px 6px;font-size:12px;font-weight:500}.ecology-library-section>summary span{float:right;color:var(--muted);font-weight:400}.ecology-library-section>div>p{padding:0 8px}.ecology-library-item{text-align:left;background:0 0;justify-content:flex-start;gap:10px;width:100%;min-height:38px;padding:9px 10px;font-size:12px}.ecology-library-item>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ecology-species-names{flex-direction:column;gap:4px;min-width:0;line-height:1.4;display:flex}.ecology-species-names>span,.ecology-species-names>small{text-overflow:ellipsis;overflow:hidden}.ecology-scientific-name{font-family:var(--sans);color:var(--muted);font-size:11px;font-style:italic}.ecology-inspector-scientific{margin-top:-10px;margin-bottom:20px;font-size:13px}.ecology-node .ecology-node-scientific{font-family:var(--sans);fill:var(--muted);font-style:italic}.ecology-library-item.active{background:var(--lavender-bg)}.ecology-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.ecology-library-species-icon{flex-shrink:0}.ecology-node-icon{color:#22232b;pointer-events:none}.species-icon-field{margin:0 0 18px}.species-icon-label{color:var(--muted);margin-bottom:8px;font-size:12px;display:block}.species-icon-picker{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.species-icon-picker>summary{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:12px;list-style:none;display:flex}.species-icon-picker>summary::-webkit-details-marker{display:none}.species-icon-picker>summary>span{flex:1}.species-icon-picker[open]>summary>svg:last-child{transform:rotate(180deg)}.species-icon-options{padding:0 10px 10px}.species-icon-options input{width:100%;margin-bottom:10px}.species-icon-grid{grid-template-columns:repeat(auto-fit,minmax(38px,1fr));gap:5px;display:grid}.species-icon-grid button{min-width:0;height:38px;color:var(--muted);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.species-icon-grid button:hover,.species-icon-grid button[aria-pressed=true]{background:var(--lavender-bg);color:var(--text)}.ecology-pinned{color:var(--muted);margin-left:auto}.ecology-library-footer{border-top:1px solid var(--line);flex:none;padding:16px}.ecology-library-footer button{background:0 0;justify-content:flex-start;width:100%;padding:9px 0;font-size:11px}.ecology-legend{flex-wrap:wrap;gap:10px 12px;margin:12px 0;display:flex}.ecology-legend>span{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.ecology-legend i{border-radius:50%;width:6px;height:6px}.ecology-main{position:relative;overflow:hidden}.ecology-graph{background-image:radial-gradient(var(--line) .7px, transparent .7px);background-size:28px 28px;width:100%;height:100%;position:relative;overflow:hidden}.ecology-graph-heading{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:20px;display:flex;position:absolute;top:24px;left:28px;right:28px}.ecology-graph-heading h1{font:500 25px var(--serif);margin:5px 0 0}.ecology-graph-heading .eyebrow{letter-spacing:1.6px;color:var(--muted);font-size:9px}.ecology-view-tabs{background:var(--panel);border:1px solid var(--line);pointer-events:auto;border-radius:24px;gap:4px;padding:4px;display:flex;box-shadow:0 4px 16px #0001}.ecology-view-tabs button{background:0 0;border-radius:20px;gap:6px;padding:8px 10px;font-size:11px}.ecology-view-tabs button[aria-pressed=true]{background:var(--lavender);color:var(--theme-on-accent,#2b2439)}.ecology-graph-svg{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;display:block}.ecology-graph-svg:active{cursor:grabbing}.ecology-node{cursor:pointer;outline:none;transition:opacity .16s}.ecology-node-dot{stroke:var(--bg);stroke-width:3px}.ecology-node-halo{fill:none;stroke-width:1.5px;opacity:0}.ecology-node:is(.selected,:hover,:focus-visible) .ecology-node-halo{opacity:.85}.ecology-node text{fill:var(--text);font-family:var(--sans);paint-order:stroke;stroke:var(--bg);stroke-width:4px;stroke-linejoin:round;pointer-events:none}.ecology-connection{transition:opacity .16s}.ecology-edge{fill:none;stroke:var(--muted);stroke-width:1.2px;opacity:.5}.ecology-connection.habitat .ecology-edge{stroke-dasharray:4 6;opacity:.25}.ecology-connection.shared .ecology-edge{stroke:var(--teal);stroke-dasharray:6 4}.ecology-connection:is(.corridor,.water,.ecotone) .ecology-edge{stroke:var(--lavender);stroke-width:2px}.ecology-edge-hit{fill:none;stroke:#0000;stroke-width:16px;cursor:pointer;outline:none}.ecology-connection:has(.ecology-edge-hit:is(:hover,:focus-visible)) .ecology-edge{stroke:var(--teal);opacity:1;stroke-width:2px}.ecology-edge-label{text-anchor:middle;fill:var(--muted);stroke:var(--bg);stroke-width:4px;paint-order:stroke;pointer-events:none}.ecology-graph-controls{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:70px;right:20px;box-shadow:0 6px 20px #0002}.ecology-graph-controls button{background:0 0;width:34px;height:34px;padding:0}.ecology-graph-caption{pointer-events:none;color:var(--muted);flex-wrap:wrap;gap:6px 18px;font-size:10px;display:flex;position:absolute;bottom:16px;left:20px;right:70px}.ecology-graph-caption span{background:var(--bg);padding:3px 0}.ecology-graph-empty{text-align:center;pointer-events:none;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:90px 50px;display:flex;position:absolute;inset:0}.ecology-graph-empty h2{color:var(--text);margin-bottom:0;font-size:24px}.ecology-graph-empty p{max-width:350px;font-size:13px}.ecology-inspector-scroll{flex:1;min-height:0;padding:22px 18px;overflow-y:auto}.ecology-inspector-title{margin-bottom:22px}.ecology-inspector-title h2{font:500 23px/1.3 var(--serif);overflow-wrap:anywhere;margin:8px 0 16px}.ecology-inspector .eyebrow{color:var(--muted);letter-spacing:1.5px;font-size:9px}.ecology-inspector .field{margin:16px 0}.ecology-inspector .field label{color:var(--muted);font-size:11px}.ecology-inspector :is(input,textarea,select){width:100%;font-size:12px}.ecology-article-link{justify-content:flex-start;width:100%;padding:10px;font-size:11px}.ecology-habitats{border:0;min-width:0;margin:18px 0;padding:0}.ecology-habitats legend{color:var(--muted);margin-bottom:8px;font-size:11px}.ecology-habitats label{align-items:center;gap:8px;margin:7px 0;font-size:12px;display:flex}.ecology-habitats input[type=checkbox]{flex-shrink:0;width:14px}.ecology-notes summary{cursor:pointer;padding:12px 0;font-size:12px}.ecology-notes .rich-text-content{max-height:300px;overflow-y:auto}.ecology-inspector-section{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.ecology-inspector-section h3{font:500 12px var(--sans);margin:0 0 12px}.ecology-related{text-align:left;background:0 0;justify-content:flex-start;width:100%;padding:10px 0;font-size:12px}.ecology-related small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.ecology-inspector-actions{border-top:1px solid var(--line);flex-direction:column;gap:8px;margin-top:24px;padding-top:20px;display:flex}.ecology-inspector-actions button{font-size:12px}.ecology-welcome{color:var(--muted);font-size:13px}.ecology-welcome h2{color:var(--text);font-size:23px}.ecology-welcome button{width:100%;margin:8px 0}.ecology-facts{font-size:12px}.ecology-facts div{margin-bottom:14px}.ecology-facts dt{color:var(--muted);margin-bottom:4px}.ecology-facts dd{margin:0}.ecology-statusbar{color:var(--muted);border-top:1px solid var(--line);flex:none;justify-content:space-between;gap:12px;padding:8px 16px;font-size:10px;display:flex}.ecology-notice{color:var(--danger);flex:none;align-items:center;gap:10px;padding:10px 20px;font-size:12px;display:flex}.ecology-notice>span{flex:1}.ecology-notice button{font-size:11px}@media (max-width:1250px){.ecology-toolbar,.ecology-toolbar .workspace-sharing-actions{flex-wrap:wrap}.ecology-toolbar .save-status{display:none}}@media (max-width:700px){.ecology-toolbar{gap:8px;padding:8px 10px}.ecology-toolbar-left{display:contents}.ecology-toolbar-left>button{padding:7px 8px;font-size:11px}.ecology-graph-heading{flex-direction:column;align-items:flex-start;gap:12px;top:18px;left:18px;right:18px}.ecology-graph-heading h1{font-size:22px}.ecology-graph-heading .eyebrow{display:none}.ecology-view-tabs button{padding:7px 10px}.ecology-graph-caption{font-size:10px;bottom:10px;left:12px}.ecology-graph-caption span:last-child{display:none}.ecology-graph-controls{right:12px}.ecology-statusbar{font-size:10px}.ecology-statusbar span:last-child{display:none}.ecology-notice{flex-wrap:wrap}}.published-ecology .ecology-main{flex:1;min-height:0}.published-ecology .ecology-graph{background-color:var(--bg)}.published-ecology .ecology-library{padding:14px 4px 4px}.published-ecology .ecology-library>.published-panel-heading{margin-inline:12px}.published-ecology .ecology-library-filters{padding:0 10px 8px}.published-ecology .ecology-library-footer{padding:12px 12px 6px}.published-ecology .ecology-inspector{padding:14px 4px 4px}.published-ecology .ecology-inspector>.published-panel-heading{margin-inline:12px}
