:root{--bg: #1f2933;--bg-elev: #2b3744;--fg: #e4e7eb;--fg-muted: #9aa5b1;--accent: #4fd1c5;--accent-fg: #08302d;--border: #3e4c59;--danger: #f8b4b4;--radius: 8px;--space: .75rem;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}#app{max-width:1100px;margin:0 auto;padding:var(--space)}h1,h2,h3{line-height:1.2}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg-elev);color:var(--fg);padding:.5rem .9rem;border-radius:var(--radius)}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}button:hover{filter:brightness(1.1)}input,select{font:inherit;background:var(--bg);color:var(--fg);border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem}a{color:var(--accent)}@media (max-width: 640px){#app{padding:.5rem}button,input,select{min-height:2.5rem}table{display:block;overflow-x:auto;white-space:nowrap}}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.catalog-editor.svelte-y0lxuh{display:flex;flex-direction:column;gap:.6rem}.hint.svelte-y0lxuh{margin:0;color:var(--fg-muted);font-size:.8rem;line-height:1.4}.type.svelte-y0lxuh{border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .7rem .7rem}summary.svelte-y0lxuh{cursor:pointer;font-weight:600;color:var(--fg);display:flex;align-items:center;gap:.5rem}.count.svelte-y0lxuh{font-size:.72rem;color:var(--fg-muted);border:1px solid var(--border);border-radius:999px;padding:0 .45rem}.type-head.svelte-y0lxuh{display:flex;align-items:end;gap:.6rem;margin:.5rem 0}.type-weight.svelte-y0lxuh{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--fg-muted)}.type-weight.svelte-y0lxuh input:where(.svelte-y0lxuh){width:6rem}.propagate.svelte-y0lxuh{font-size:.8rem}.traits.svelte-y0lxuh{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.traits.svelte-y0lxuh li:where(.svelte-y0lxuh){display:flex;gap:.4rem;align-items:center}.label.svelte-y0lxuh{flex:1;min-width:6rem}.weight.svelte-y0lxuh{width:5rem}.del.svelte-y0lxuh{color:var(--danger, #c0392b);border-color:var(--border);padding:0 .5rem}.add.svelte-y0lxuh{display:flex;gap:.4rem;margin-top:.5rem}.add.svelte-y0lxuh input:where(.svelte-y0lxuh){flex:1}.curve.svelte-1xroutx{margin:0}svg.svelte-1xroutx{width:100%;max-width:22rem;height:auto;background:var(--bg-alt, rgba(127, 127, 127, .06));border:1px solid var(--border);border-radius:var(--radius)}.axis.svelte-1xroutx{stroke:var(--border);stroke-width:1}.peak.svelte-1xroutx{stroke:var(--accent);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.area.svelte-1xroutx{fill:var(--accent);opacity:.15}.line.svelte-1xroutx{fill:none;stroke:var(--accent);stroke-width:2}.lbl.svelte-1xroutx{fill:var(--fg-muted);font-size:9px}.lbl.end.svelte-1xroutx,.lbl.y.svelte-1xroutx{text-anchor:end}figcaption.svelte-1xroutx{color:var(--fg-muted);font-size:.75rem;margin-top:.25rem}.species-editor.svelte-1m2poy6{display:flex;flex-direction:column;gap:.6rem}.espece.svelte-1m2poy6{border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .7rem .7rem}summary.svelte-1m2poy6{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem}.warn.svelte-1m2poy6{color:var(--danger, #c0392b)}.esp-head.svelte-1m2poy6{display:flex;gap:.5rem;align-items:center;margin:.5rem 0}.esp-label.svelte-1m2poy6{flex:1}.block.svelte-1m2poy6{border:1px solid var(--border);border-radius:var(--radius);margin:.5rem 0 0;padding:.5rem .7rem .7rem}legend.svelte-1m2poy6{font-size:.8rem;font-weight:700;color:var(--accent);padding:0 .4rem}.genres.svelte-1m2poy6{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.genres.svelte-1m2poy6 li:where(.svelte-1m2poy6){display:flex;gap:.4rem;align-items:center}.genres.svelte-1m2poy6 input:where(.svelte-1m2poy6){flex:1;max-width:16rem}.locked.svelte-1m2poy6{font-size:.72rem;color:var(--fg-muted)}.repro.svelte-1m2poy6{display:flex;flex-wrap:wrap;gap:1rem;align-items:start}.grid.svelte-1m2poy6{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem .8rem;flex:1;min-width:16rem}.field.svelte-1m2poy6{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--fg-muted)}.add.svelte-1m2poy6{display:flex;gap:.4rem;margin-top:.5rem}.add.svelte-1m2poy6 input:where(.svelte-1m2poy6){flex:1}.del.svelte-1m2poy6{color:var(--danger, #c0392b)}.error.svelte-1m2poy6{color:var(--danger, #c0392b);font-size:.8rem;margin:.4rem 0 0}.resilience.svelte-yzhjk9{display:flex;flex-direction:column;gap:.7rem}.hint.svelte-yzhjk9{margin:0;color:var(--fg-muted);font-size:.8rem;line-height:1.4}.lvl.svelte-yzhjk9{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .7rem .7rem}legend.svelte-yzhjk9{font-size:.8rem;font-weight:700;color:var(--accent);padding:0 .4rem}.row.svelte-yzhjk9{display:flex;flex-wrap:wrap;gap:.6rem;align-items:end}.field.svelte-yzhjk9{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--fg-muted)}.field.svelte-yzhjk9 input:where(.svelte-yzhjk9){width:6rem}.field.select.svelte-yzhjk9 select:where(.svelte-yzhjk9){min-width:14rem}table.svelte-yzhjk9{width:100%;border-collapse:collapse;font-size:.8rem}th.svelte-yzhjk9{text-align:left;color:var(--fg-muted);font-weight:600;padding:.2rem .3rem}td.svelte-yzhjk9{padding:.15rem .3rem}td.svelte-yzhjk9 input:where(.svelte-yzhjk9){width:4.5rem}.type-name.svelte-yzhjk9{white-space:nowrap}.propagate.svelte-yzhjk9{font-size:.75rem}.overridden.svelte-yzhjk9{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.overridden.svelte-yzhjk9 li:where(.svelte-yzhjk9){display:flex;align-items:center;gap:.2rem;border:1px solid var(--border);border-radius:999px;padding:.1rem .2rem .1rem .5rem;font-size:.75rem}.link.svelte-yzhjk9{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:.75rem}.del.svelte-yzhjk9{color:var(--danger, #c0392b)}.error.svelte-yzhjk9{color:var(--danger, #c0392b);font-size:.8rem;margin:0}.parametres.svelte-qe4kai{display:flex;flex-direction:column;gap:1rem;max-width:52rem}fieldset.svelte-qe4kai{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.2rem 1.2rem;margin:0}legend.svelte-qe4kai{padding:0 .5rem;font-weight:700;color:var(--accent)}.grid.svelte-qe4kai{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem 1.2rem}.field.svelte-qe4kai{display:flex;flex-direction:column;gap:.25rem}label.svelte-qe4kai{color:var(--fg);font-size:.9rem;font-weight:600}.desc.svelte-qe4kai{margin:0;color:var(--fg-muted);font-size:.78rem;line-height:1.3}.desc.inline.svelte-qe4kai{display:block;font-weight:400}.hint.svelte-qe4kai{color:var(--fg-muted);font-size:.85rem;margin:-.3rem 0 0}.ro.svelte-qe4kai{font-size:.7rem;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 .4rem;font-weight:400}.seed-row.svelte-qe4kai{display:flex;gap:.5rem}.seed-row.svelte-qe4kai input:where(.svelte-qe4kai){flex:1;font-family:ui-monospace,monospace}.check.svelte-qe4kai{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;color:var(--fg);font-size:.9rem;font-weight:600}.check.svelte-qe4kai input:where(.svelte-qe4kai){margin-top:.15rem}input[readonly].svelte-qe4kai{opacity:.7}.generate.svelte-qe4kai{align-self:flex-start;margin-top:.5rem}.repro-bar.svelte-10gfbe7{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.6rem .8rem;margin-bottom:.8rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.count.svelte-10gfbe7{color:var(--fg-muted);font-size:.9rem}button[disabled].svelte-10gfbe7{opacity:.5;cursor:not-allowed}.time-bar.svelte-c5tj3h{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.6rem .8rem;margin-bottom:.8rem;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius)}.year.svelte-c5tj3h{color:var(--fg-muted);font-size:.9rem}.controls.svelte-c5tj3h{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.controls.svelte-c5tj3h label:where(.svelte-c5tj3h){color:var(--fg-muted);font-size:.9rem}.controls.svelte-c5tj3h input:where(.svelte-c5tj3h){width:5rem}.unit.svelte-c5tj3h{color:var(--fg-muted);font-size:.85rem}button[disabled].svelte-c5tj3h{opacity:.5;cursor:not-allowed}.filters.svelte-posma6{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem;margin-bottom:1rem;background:var(--bg-elev)}.row.svelte-posma6{display:flex;align-items:flex-end;gap:1rem;margin-bottom:.75rem}.search.svelte-posma6{display:flex;flex-direction:column;gap:.2rem;flex:1;max-width:22rem}.search.svelte-posma6 span:where(.svelte-posma6){font-size:.8rem;color:var(--fg-muted)}.dims.svelte-posma6{display:flex;flex-wrap:wrap;gap:.75rem}fieldset.svelte-posma6{border:1px solid var(--border);border-radius:var(--radius);padding:.4rem .6rem;min-width:8rem}legend.svelte-posma6{font-size:.78rem;color:var(--fg-muted);padding:0 .3rem}.chips.svelte-posma6{display:flex;flex-wrap:wrap;gap:.3rem .6rem}.chips.scroll.svelte-posma6{max-height:12rem;overflow-y:auto;margin-top:.3rem}.chip.svelte-posma6,.radio.svelte-posma6{display:inline-flex;align-items:center;gap:.25rem;font-size:.82rem;cursor:pointer}.scope.svelte-posma6{display:flex;align-items:center;gap:.5rem;font-size:.8rem;margin-bottom:.3rem}.hint.svelte-posma6{margin:0 0 .3rem;font-size:.74rem;color:var(--fg-muted)}.trait-fs.svelte-posma6{flex:1;min-width:14rem}summary.svelte-posma6{cursor:pointer;font-size:.82rem}table.svelte-bi1v51{width:100%;border-collapse:collapse}th.svelte-bi1v51,td.svelte-bi1v51{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--border)}th.svelte-bi1v51{color:var(--fg-muted);font-weight:600}tbody.svelte-bi1v51 tr:where(.svelte-bi1v51){cursor:pointer}tbody.svelte-bi1v51 tr:where(.svelte-bi1v51):hover{background:var(--bg-elev)}tbody.svelte-bi1v51 tr.selected:where(.svelte-bi1v51){background:color-mix(in srgb,var(--accent) 18%,transparent)}.sel.svelte-bi1v51{width:2.2rem;text-align:center}.sel.svelte-bi1v51 input:where(.svelte-bi1v51){width:1.1rem;height:1.1rem;cursor:pointer}.mono.svelte-bi1v51{font-family:ui-monospace,monospace}.muted.svelte-bi1v51{color:var(--fg-muted)}.pouvoir.svelte-bi1v51+.pouvoir:where(.svelte-bi1v51){margin-top:.15rem}.empty.svelte-bi1v51{color:var(--fg-muted)}.viewport.svelte-1nx73kc{position:relative;width:100%;height:clamp(18rem,50vh,34rem);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.canvas.svelte-1nx73kc{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.links.svelte-1nx73kc{position:absolute;top:0;left:0;overflow:visible;pointer-events:none}.link.svelte-1nx73kc{fill:none;stroke:var(--fg-muted);stroke-width:2}.link.ex.svelte-1nx73kc{stroke-dasharray:5 4}.mark.svelte-1nx73kc{fill:var(--fg-muted);font-size:16px}.reset.svelte-1nx73kc{position:absolute;top:.4rem;right:.4rem;z-index:2;width:2rem;height:2rem;border-radius:999px;line-height:1;cursor:pointer}.card.svelte-1nx73kc{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);text-align:center;overflow:hidden;cursor:pointer}.card.svelte-1nx73kc:hover{border-color:var(--accent)}.card.root.svelte-1nx73kc{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--bg))}.card.dashed.svelte-1nx73kc{border-style:dashed}.card.marriedin.svelte-1nx73kc{background:color-mix(in srgb,var(--fg-muted) 26%,var(--bg))}.card.dead.svelte-1nx73kc{border-color:#c98bdb;color:var(--fg-muted)}.card.svelte-1nx73kc .nom:where(.svelte-1nx73kc){font-size:.85rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card.svelte-1nx73kc .line:where(.svelte-1nx73kc){font-size:.7rem;color:var(--fg-muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modes.svelte-5ijmf9{display:inline-flex;gap:.3rem}button.active.svelte-5ijmf9{border-color:var(--accent);color:var(--accent)}.legend.svelte-oc9owu{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.78rem;color:var(--fg-muted)}.legend.svelte-oc9owu li:where(.svelte-oc9owu){display:inline-flex;align-items:center;gap:.35rem}.sym.svelte-oc9owu{font-size:1rem;color:var(--fg-muted)}.swatch.svelte-oc9owu{width:1.1rem;height:.8rem;border:1px solid var(--border);border-radius:3px;background:var(--bg);display:inline-block}.swatch.root.svelte-oc9owu{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 24%,var(--bg))}.swatch.marriedin.svelte-oc9owu{background:color-mix(in srgb,var(--fg-muted) 26%,var(--bg))}.swatch.dead.svelte-oc9owu{border-color:#c98bdb}.back.svelte-19dkjzb{margin-bottom:1rem}.arbre-zone.svelte-19dkjzb{width:100%;margin-bottom:1.25rem}.arbre-head.svelte-19dkjzb{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.arbre-head.svelte-19dkjzb h3:where(.svelte-19dkjzb){margin:0}.explorer.svelte-19dkjzb{cursor:pointer}.traits-head.svelte-19dkjzb{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.traits-head.svelte-19dkjzb h3:where(.svelte-19dkjzb){margin:0}h4.svelte-19dkjzb{margin:.8rem 0 .3rem}.infos.svelte-19dkjzb{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem 1.5rem;margin:0 0 1rem}.infos.svelte-19dkjzb div:where(.svelte-19dkjzb){border-bottom:1px solid var(--border);padding-bottom:.3rem}dt.svelte-19dkjzb{color:var(--fg-muted);font-size:.8rem}dd.svelte-19dkjzb{margin:0}.pouvoir.svelte-19dkjzb{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .8rem;margin-bottom:.5rem}.pouvoir-head.svelte-19dkjzb{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.badge.svelte-19dkjzb{background:var(--accent);color:var(--accent-fg);border-radius:999px;padding:.1rem .5rem;font-size:.75rem;font-weight:700}.stats.svelte-19dkjzb{display:flex;gap:1.5rem;margin-top:.3rem;color:var(--fg-muted)}.traits.svelte-19dkjzb{margin:0;padding-left:1.2rem}.traits.inactifs.svelte-19dkjzb{opacity:.7}.vie.svelte-19dkjzb{display:flex;flex-direction:column;gap:.8rem;margin-bottom:.5rem}.vie.svelte-19dkjzb .dt:where(.svelte-19dkjzb){color:var(--fg-muted);font-size:.8rem}.conjoints.svelte-19dkjzb ul:where(.svelte-19dkjzb){margin:.2rem 0 0;padding-left:1.2rem}.badge-statut.svelte-19dkjzb{font-size:.7rem;border-radius:999px;padding:0 .4rem;border:1px solid var(--border);color:var(--fg-muted)}.badge-statut.actuel.svelte-19dkjzb{color:var(--accent);border-color:var(--accent)}.couple.svelte-19dkjzb,.kill.svelte-19dkjzb{display:flex;flex-direction:column;gap:.3rem;max-width:28rem}.couple.svelte-19dkjzb label:where(.svelte-19dkjzb),.kill.svelte-19dkjzb label:where(.svelte-19dkjzb){color:var(--fg-muted);font-size:.85rem}.kill-row.svelte-19dkjzb{display:flex;gap:.5rem}.kill-row.svelte-19dkjzb input:where(.svelte-19dkjzb){flex:1}.danger.svelte-19dkjzb{background:#b3261e;color:#fff;border:none;border-radius:var(--radius);padding:0 .8rem;cursor:pointer}.error.svelte-19dkjzb{color:#b3261e;font-size:.85rem;margin:0}.mono.svelte-19dkjzb{font-family:ui-monospace,monospace}.muted.svelte-19dkjzb{color:var(--fg-muted)}.head.svelte-okw8pg{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.depth.svelte-okw8pg{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--fg-muted)}.depth.svelte-okw8pg input:where(.svelte-okw8pg){width:4.5rem}.hint.svelte-okw8pg{font-size:.78rem;margin:0 0 .5rem}.muted.svelte-okw8pg{color:var(--fg-muted)}.io.svelte-loir6o{display:flex;gap:.5rem;flex-wrap:wrap}.error.svelte-loir6o{color:var(--danger);margin:.5rem 0 0}header.svelte-1ocnzw1{display:flex;flex-wrap:wrap;align-items:baseline;gap:1rem;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:.75rem;margin-bottom:1rem}h1.svelte-1ocnzw1{font-size:1.4rem;margin:0}nav.svelte-1ocnzw1{display:flex;gap:.5rem}nav.svelte-1ocnzw1 button.active:where(.svelte-1ocnzw1){border-color:var(--accent);color:var(--accent)}.io-bar.svelte-1ocnzw1{margin-bottom:1rem}
