*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#18181b;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button{font:inherit;cursor:pointer}.muted{color:#71717a;font-size:12px}.dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.page{flex-direction:column;height:100%;display:flex}.stage{flex:1;min-height:0;display:flex;position:relative}.header{z-index:5;background:#fff;border-bottom:1px solid #e4e4e7;align-items:center;gap:20px;padding:10px 18px;display:flex}.brand{color:#18181b;letter-spacing:-.01em;font-weight:700;text-decoration:none}.legend{color:#3f3f46;gap:12px;font-size:12px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.header-tools{align-items:center;gap:12px;margin-left:auto;display:flex}.search{position:relative}.search input{width:240px;font:inherit;border:1px solid #e4e4e7;border-radius:8px;padding:7px 10px;font-size:14px}.search input:focus{border-color:#818cf8;outline:2px solid #c7d2fe}.search ul{z-index:20;background:#fff;border:1px solid #e4e4e7;border-radius:10px;width:320px;margin:0;padding:4px;list-style:none;position:absolute;top:38px;right:0;box-shadow:0 8px 24px #00000014}.search li{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:7px 8px;font-size:14px;display:flex}.search li .muted{margin-left:auto}.search li.active,.search li:hover{background:#f4f4f5}.map{flex:1;min-width:0;position:relative;overflow:auto}.map svg{display:block}.branch{fill:none;stroke:#d4d4d8;stroke-width:1.25px;transition:opacity .2s}.branch.lit{stroke:#18181b;stroke-width:2px}.branch.dim{opacity:.35}.label{fill:#27272a;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;font-size:13px}.latin{fill:#a1a1aa;font-size:11px;font-style:italic}.node{cursor:pointer;transition:opacity .2s}.node.dim{opacity:.3}.node:hover .label{fill:#000;text-decoration:underline}.group circle{fill:#a1a1aa}.group .label{fill:#71717a;font-size:11px}.group.clade .label,.group.ordre .label{letter-spacing:.01em;font-weight:600}.group.famille .label{fill:#18181b;font-size:12px;font-weight:700}.group.genre .label,.group.espece .label{font-style:italic}.panel{background:#fff;border-left:1px solid #e4e4e7;flex:none;width:340px;padding:18px;position:relative;overflow:auto}.panel h2{letter-spacing:-.01em;margin:10px 0 2px;font-size:22px}.panel p{color:#3f3f46;font-size:14px;line-height:1.5}.panel p.aside{color:#71717a;margin:4px 0 8px;font-size:13px}.panel h3{text-transform:uppercase;letter-spacing:.08em;color:#71717a;margin:18px 0 6px;font-size:11px}.panel .close{color:#a1a1aa;background:0 0;border:0;font-size:22px;position:absolute;top:8px;right:10px}.chip{border:1px solid;border-radius:99px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.plant-list,.lineage{margin:0;padding:0;list-style:none}.plant-list button{text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;width:100%;padding:6px;font-size:14px;display:flex}.plant-list button:hover,.lineage button:hover{background:#f4f4f5}.plant-list .muted{margin-left:auto}.lineage li{align-items:baseline;gap:8px;display:flex}.lineage li+li{padding-left:2px}.lineage button{text-align:left;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-size:14px}.panel-links{justify-content:space-between;margin-top:18px;font-size:13px;display:flex}.panel-links a{color:#4f46e5;text-decoration:none}.intro{z-index:8;background:#fff;border:1px solid #e4e4e7;border-radius:12px;width:360px;padding:18px 20px;position:absolute;bottom:24px;left:24px;box-shadow:0 12px 32px #0000001a}.intro h2{letter-spacing:-.01em;margin:0 0 6px;font-size:18px}.intro p{color:#3f3f46;margin:0 0 8px;font-size:14px;line-height:1.5}.intro .close{color:#a1a1aa;background:0 0;border:0;font-size:22px;position:absolute;top:6px;right:10px}.facts{margin:0;padding:0;list-style:none}.facts button{text-align:left;color:#4f46e5;background:0 0;border:0;border-radius:6px;width:100%;margin:0 -6px;padding:5px 6px;font-size:13px}.facts button:hover{background:#f4f4f5}@media (width<=700px){.header{flex-wrap:wrap;gap:8px;padding:8px 10px}.header-tools{display:contents}.legend{margin-left:auto}.search{flex:100%;min-width:0}.search input{width:100%}.search ul{width:min(340px,100vw - 20px);left:0;right:auto}.panel{z-index:9;border-top:1px solid #e4e4e7;border-left:0;border-radius:14px 14px 0 0;width:auto;max-height:50%;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0000001a}.map svg{margin-bottom:50vh}.intro{width:auto;max-height:60%;bottom:10px;left:10px;right:10px;overflow:auto}}
