:root{
  --wef-primary:#6b3f1d;   /* logo brown */
  --wef-accent:#6a8f3a;    /* leaf green */
  --wef-heart:#d08b2a;     /* heart orange */
  --wef-bg:#ffffff;
  --wef-text:#2b1a10;
  --wef-muted:#7a6a60;
  --wef-border:#eadfda;
  --wef-radius:16px;
}

.wef-wrap{max-width:1100px;margin:40px auto;padding:0 16px;color:var(--wef-text);}
.wef-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:900px){.wef-grid{grid-template-columns:1fr;}}

.wef-card{background:var(--wef-bg);border:1px solid var(--wef-border);border-radius:var(--wef-radius);padding:18px;box-shadow:0 10px 30px rgba(43,26,16,.06);}
.wef-muted{color:var(--wef-muted);margin-top:6px}
.wef-input{width:100%;padding:12px 12px;border:1px solid var(--wef-border);border-radius:12px;margin:8px 0;outline:none;}
.wef-input:focus{border-color:rgba(107,63,29,.5);box-shadow:0 0 0 4px rgba(107,63,29,.12);}

.wef-btn{background:var(--wef-primary);color:#fff;border:none;border-radius:12px;padding:12px 14px;cursor:pointer;font-weight:600;}
.wef-btn-ghost{background:#fff;color:var(--wef-primary);border:1px solid rgba(107,63,29,.25);text-decoration:none;display:inline-flex;align-items:center}
.wef-row{display:flex;gap:10px;align-items:center}
.wef-space{justify-content:space-between;align-items:center}
.wef-toolbar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:10px}

.wef-tree{
  min-height:600px;
  border:1px solid var(--wef-border);
  border-radius:14px;
  background: linear-gradient(180deg, #fff, #fff7f0);
  overflow:hidden;
  position:relative;
}
.wef-tree svg{ width:100%; height:600px; display:block; }

.wef-node-card{
  fill:#fff;
  stroke: var(--wef-border);
  stroke-width:1.2;
  rx:14; ry:14;
  filter: drop-shadow(0 10px 18px rgba(43,26,16,.08));
}
.wef-link{ fill:none; stroke: rgba(107,63,29,.35); stroke-width:2; }

.wef-node-title{ font-size:14px; font-weight:700; fill: var(--wef-text); }
.wef-node-sub{ font-size:12px; fill: var(--wef-muted); }

.wef-modal{position:fixed;inset:0;background:rgba(2,6,23,.6);display:flex;align-items:center;justify-content:center;padding:18px;z-index:99999;}
.wef-modal-card{background:#fff;max-width:520px;width:100%;border-radius:18px;padding:18px;position:relative;}
.wef-x{position:absolute;right:12px;top:10px;border:none;background:transparent;font-size:24px;cursor:pointer}
